본문으로 이동
Database Driven Development에서 진짜 DDD로의 선회 -1-
문서

Database Driven Development에서 진짜 DDD로의 선회 -1-

황건구 · 컬리 · 컬리 기술 블로그

원본 보기

소개

DDD에 대한 오해에서 벗어나고 개발의 즐거움을 깨달은 이야기

AI 핵심 요약

데이터베이스 스키마를 중심으로 시스템을 설계하던 저자는 데이터 입력을 목표로 삼으면 도메인 문제와 개발자의 선택지를 놓칠 수 있다는 지적을 계기로 DDD를 다시 이해했다. DDD를 설계 기법에 한정하지 않고 문제를 도메인 중심으로 탐구하는 과정으로 받아들인 뒤, 팀과 이벤트 스토밍·몹 프로그래밍·테스트 주도 개발을 반복하며 용어와 모델을 다듬었다. 도메인 테스트를 먼저 구축하고 기술 스택과 인프라를 뒤에 선택한 결과, 레거시보다 뛰어난 성능으로 전례 없는 트래픽을 처리하는 시스템을 만들었다고 설명한다. 다만 DDD의 원칙뿐 아니라 데이터베이스, 드라이버, 배포, 모니터링 등 인프라 문제에도 많은 실험과 노력이 필요하다는 점을 강조한다.

  • 도메인 지식은 기존 시스템을 그대로 받아들이기보다 현장 사용자와 비즈니스 규칙을 검토하며 팀이 함께 정립해야 한다.
  • 이벤트 스토밍으로 업무 흐름과 용어를 시각화하고, 코딩 중 발견한 이해 차이를 다시 모델에 반영한다.
  • 몹 프로그래밍과 테스트는 도메인 용어와 설계 가설을 팀이 검증하고 개선하는 수단이 된다.
  • 기술 스택을 일찍 고정하기보다 도메인 테스트를 먼저 만들고, 필요한 인프라를 측정과 실험을 통해 선택한다.
  • DDD는 모델링에 그치지 않으므로 배포·모니터링·성능 등 인프라 운영 역량도 함께 준비해야 한다.