피드로 돌아가기
컬리 기술블로그Backend
원문 읽기
Database Driven Development에서 진짜 DDD로의 선회, 이벤트 스토밍 -2-
Domain-Driven Design 실천을 위해 Event Storming 워크샵을 도입해 불명확한 비즈니스 요구사항을 색상별 포스트잇으로 체계화
AI 요약
Context
Database Driven Development에서 벗어나 진정한 DDD를 실천하려는 팀들이 도메인 로직과 비즈니스 프로세스를 명확하게 파악하지 못하는 문제를 겪고 있다. 기존 업무 방식에서 임기응변과 모호한 표현이 많아 도메인 경계와 개념이 불명확하게 혼재되어 있다.
Technical Solution
- 도메인 이벤트(주황색 포스트잇): 비즈니스 프로세스에서 발생하는 과거형 동사를 좌에서 우로 시간순 배치
- 커맨드(파란색 포스트잇): 액터가 유발하는 동작을 도메인 이벤트 좌측에 배치
- 애그리게잇(노란색 포스트잇): 커맨드와 이벤트를 포함하는 컨테이너로 상단에 배치해 개념적 단위 식별
- 뷰(초록색 포스트잇), 액터(작은 노란색), 외부 시스템(핫 핑크 포스트잇), 비즈니스 프로세스(보라색), 이슈(빨간색) 등 다양한 색상으로 구성 요소 구분
- 도메인 전문가, 기획자, 개발자, 디자이너 등 모든 스테이크홀더가 한 장소에 모여 Miro 또는 화이트보드를 이용해 협업
Key Takeaway
Event Storming은 초기 설계에서 완벽함을 추구하지 않고 포스트잇을 반복적으로 붙였다 떼면서 도메인 이해를 점진적으로 정교화하는 과정이다. 모호한 표현, 경계 불명확, 개념 혼재가 나타나는 영역을 직관적으로 파악하고 적극적인 논의를 통해 체계화해야 한다.
실천 포인트
DDD를 새로 시작하는 팀에서 Event Storming을 도입할 때는 모든 참여자가 역할과 지식 수준에 관계없이 기초적인 질문도 자유롭게 제시할 수 있도록 심리적 안전장치를 마련한 후, 색상별 포스트잇으로 도메인 이벤트-커맨드-애그리게잇 순서로 시각화하면 도메인 경계와 비즈니스 프로세스 흐름을 명확하게 파악할 수 있다.