토픽 111 / 192·소프트웨어 표준과 법제도
Event Storming
Event Storming
Alberto Brandolini가 개발한 워크샵 기반 도메인 모델링 기법으로, 도메인 전문가와 개발자가 함께 포스트잇을 사용해 비즈니스 도메인 이벤트를 식별하고 시스템을 시각화하며 DDD(Domain-Driven Design) 기반 설계의 첫 단계로 활용
목적: 도메인 이해, 비즈니스 프로세스 시각화, 공통 언어(Ubiquitous Language) 형성, 바운디드 컨텍스트 식별
특징: 워크샵 기반, 포스트잇 사용, 도메인 이벤트 중심, 협업적, 비기술자 참여 가능
구성요소 (색상별 포스트잇)
- •Domain Event(주황색): 과거형 동사, "주문이 생성됨", "결제가 완료됨"
- •Command(파란색): 이벤트를 발생시킨 명령, "주문 생성", "결제 처리"
- •Actor(노란색): 명령을 실행하는 사용자/시스템
- •Aggregate(황색): 상태를 관리하는 도메인 객체, "주문", "회원"
- •Policy(보라색): 이벤트 반응 규칙, "결제 완료 시 배송 시작"
- •Read Model(녹색): 조회 화면, 대시보드
- •External System(분홍색): 외부 시스템, PG, 배송사
진행 절차
장점: 빠른 도메인 이해, 비기술자 참여, 바운디드 컨텍스트 식별, 공통 언어 형성
단점: 퍼실리테이터 역량 필요, 대규모 참여 어려움, 결과물 디지털화 필요
적용사례: DDD 프로젝트 킥오프, 레거시 분석, 마이크로서비스 설계, 비즈니스 프로세스 분석
기술요소: Domain Event, Command, Aggregate, Policy, Bounded Context, Ubiquitous Language
비교: Event Storming(이벤트 중심/워크샵) vs Event Modeling(흐름 중심) vs User Story Mapping(사용자 중심)
연관: DDD, Bounded Context, Aggregate, CQRS, Event Sourcing, 마이크로서비스