비즈니스 요건을 먼저 충분히 이해하고 데이터 모델을 설계한 경험
팀 프로젝트에서 쇼핑몰 주문 관리 API를 설계할 때, 처음엔 바로 테이블 구조부터 잡으려 했습니다. 나중에 '교환·반품 처리는요?'라는 질문이 나오면서 초반 설계가 전부 바뀌는 상황이 됐습니다.
그 이후로 코드 전에 '주문이 가질 수 있는 모든 상태를 나열하고, 각 상태 전이 조건을 팀과 함께 정리'하는 단계를 먼저 밟게 됐습니다. 상태 다이어그램을 그리고 나서 테이블을 설계하니 이후 변경이 거의 없었습니다.
API 설계도 비슷하게 접근했습니다. 리소스 관점으로 먼저 정의하고, 각 리소스에 필요한 액션을 HTTP 메서드로 매핑했습니다. '클라이언트가 어떤 화면에서 이 데이터를 쓰는가'를 먼저 물으면 불필요한 필드를 줄이는 데도 도움이 됐습니다. 요건 이해가 설계보다 앞서야 한다는 걸 그때 배웠습니다.