회원 데이터 변경이 모든 팀을 멈췄다
가상 이야기 · 핵심노트 기반
핵심노트 개념: 경계와 의존성 — 시스템 변경이 다른 시스템에 미치는 영향을 줄인다
이 글에서 배우는 교훈
여러 프로그램이 같은 데이터를 사용한다면 데이터를 바꿀 책임과 정보를 주고받는 규칙을 정해야 합니다.
핵심노트를 바탕으로 만든 가상 이야기입니다. 실제 사건이나 검증된 성과가 아닙니다.
근거: 경계와 의존성 — 시스템 변경이 다른 시스템에 미치는 영향을 줄인다 · 핵심노트 3
구체적으로는 회원팀은 다른 서비스가 회원 테이블을 제각각 수정하지 않도록 조회·수정 경로를 정하고, 기존 이용처를 확인하며 전환했습니다.
관련 교재 내용
시스템아키텍처 이해와 활용 · I. 시스템 개념 · 구성항목과 인터페이스
교재의 인터페이스와 제약 조건은 시스템의 각 부분이 어떻게 연결되고 어떤 규칙을 지켜야 하는지 설명하는 요소입니다.
이 사례에 적용한 내용: 회원팀은 다른 서비스가 회원 테이블을 제각각 수정하지 않도록 조회·수정 경로를 정하고, 기존 이용처를 확인하며 전환했습니다.
교재 원리의 실무 적용 · 교재 원문 인용이 아닌 자체 설명입니다.
본문
쇼핑몰의 주문·배송 프로그램은 회원 데이터베이스의 같은 표를 직접 읽고 수정했습니다. 회원팀이 주소를 저장하는 열을 바꾸자 다른 프로그램은 예전 열을 찾지 못해 실패했습니다. 프로그램을 따로 배포했어도 같은 내부 구조에 기대고 있었던 것입니다.
회원팀은 회원 정보를 변경할 책임을 맡고, 다른 프로그램이 정보를 조회·수정하는 정해진 경로를 만들었습니다. 어떤 값을 보내고 받을지 각 팀과 합의하고, 기존 열을 사용하는 곳이 바뀌었는지 확인하면서 직접 접근을 줄였습니다.
결론
다른 프로그램이 내 데이터의 내부 구조를 그대로 사용하면 작은 변경도 함께 고쳐야 합니다. 정보를 주고받는 약속을 정하고 전환할 시간을 확보해야 변경의 영향을 줄일 수 있습니다.