이벤트 스토밍
이벤트 스토밍이란?
프로젝트에 참여하는 모든 이해관계자가 한자리에 모여 도메인 지식을 교환하고 용어를 통일하고 현재 프로젝트 내 회색지대를 파악하여 향후 의사소통 비용을 절감하는 워크숍
이런 경험을 해본 적 있나요?
- 사장님,업주,셀러 등 사람마다 똑같은 말을 다르게 불러서 의사소통이 어려운 경우
- 배달에 관한 정책 외의에 참석하여 뭔가 이해가 안 되는 부분이 있다고 생각했는데 알고 보니 서로 다른 배달에 관해 이야기하고 있던 경우
- 프랜차이즈 본사 메뉴판 수정과 지점 메뉴판 수정의 차이점을 설명하기 어려웠던 경우
- 배달비를 수정해 달라는 요청을 배달팁을 변경하여 급하게 핫픽스를 해야 했던 경우
부작용
- 모든 사람이 동일한 개념에 대한 다른 용어를 사용하거나,다른 개념에 대해 동일한 용어를 사용한다.
- 하나의 기능을 개발하기 위해 동료 A에게 물어보고 동료 B에게도 물어봐야 한다.
이벤트 스토밍
- 알베르토 브란돌리니가 제안한 복잡한 비즈니스 도메인을 빠르게 탐색하고 학습할 수 있는 워크숍
- 도메인 전문가와 개발자를 도메인 학습과정에 참여시키기 위한 빠른 설계 기법
- 코드를 없애고 모든 사람을 동일한 수준으로 만드는 시각적 접근 방법
준비물
- 큰 회의실, 커다란 종이, 수많은 포스트잇과 마커펜
- 실제 문제 해결에 관련된 모든 사람(질문이 있는 사람, 답을 가진 사람)
- 당분은 보충할 수 있고 참여자가 선호하는 간식
진행 방법
- 벽에 커다란 종이를 붙여 놓고 그 위에 포스트잇을 붙여 나간다.
- 모든 사람의 생각을 허용하고 존중한다.
- 비즈니스 프로세스를 이해하는 데에 초첨을 맞춘다.
왜 포스트잇인가?
- 가능한 가장 간단한 표기법을 사용하면 회의실에 있는 모든 사람이 적극적으로 참여할 수 있다.
- 떼어 내고 붙이기가 쉽기 때문에 이동이 가능하며, 틀린 경우에도 뗄 수 있어 부담을 줄일 수 있다.
도메인 이벤트 - 주황색
- 도메인 전문가가 관심이 있는 어떤 사건
- 이벤트 이름은 과거에 일어났던 일을 표현하기 때문에 과거 시제를 사용한다.
- 이벤트가 발생한다는 것은 상태가 변경되었다는 것을 의미한다.
1단계: 혼란스러운 탐험
- 각자가 알고 있는 도메인 이벤트를 작성한다.
- 각자가 작성한 이벤트는 볼 수 있지만, 토론을 시작하지 말고 자신이 옳다고 생각하는 방식으로 기록한다.
안티패턴: 위원회
- 포스트잇을 붙이기 전에 합의에 도달하기 위해 논의하는 것은 우리가 탐구하려는 모순을 숨긴다.
- 관련된 모든 당사자의 동의가 필요하며, 엄청난 시간이 소요될 수 있다.
2단계: 타임라인 적용
- 모든 도메인 이벤트를 올바른 타임라인으로 정렬하고 실제로 중복되는 이벤트를 제거한다.
- 시간은 왼쪽에서 오른쪽으로 흐르고, 위에서 아래로 평행한 시간을 표현할 수 있다.
드라이버와 내비게이터
- 타임라인을 정리할 때 드라이버와 내비게이터를 결정한다.
- 상황에 따라 이미 잘 알고 있는 사람이나 배워야 할 사람이 드라이버를 맡는다.
- 드라이버는 충분히 기여했다고 판단되면 역할을 유동적으로 교체한다.
핫스폿 - 자주색
- 2단계에서 발생한 질문,갈등,불평,불만 사항을 시각화하고 캡처한다.
- 당장 토론하지 않는다. 나중에 문제가 해결되면 제거한다.
- 핫 스폿이 파악되기만 해도 의미 있는 워크숍이 된다.
액터와 시스템 - 노란색과 분홍색
- 단순한 사용자 또는 고객보다 구체적인 페르소나를 설정한다.
- 외부 시스템부터 일부 레거시 및 마이크로서비스에 이르기까지 책임을 전가할 수 있는 모든 것.
바운디드 컨텍스트
- 같은 용어라도 의미가 다르고 같은 대상이라도 지칭하는 용어가 다를 수 있다.
- 명백한 언어 불일치는 종종 동일한 프로세스 내에서 여러 개의 바운디드 컨텍스트를 나타내는 지표다.
커맨드 또는 액션 - 파란색
- 시스템에서 일어나는 일
- 도메인 이벤트가 발생하는 일
리드 모델 또는 정보 - 초록색
- 결정을 내리는 데 필요한 정보
- 특정 정책으로 인해 발생한 도메인 이벤트의 결과가 리드 모델에 어떻게 반영되는지 확인할 수 있다.
정책 - 연보라색
- 주로 '~할 때마다'라는 단어로 시작한다.
- 도메인 이벤트와 커맨드 사이에 위치한다.
- 수동이든 자동이든 우리의 정책
비즈니스 규칙 - 연노란색
- 시스템이 기대하는 책임을 수행하며 일관성을 유지하는 단위
- 일관성은 항상 참이어야 하는 속성을 유지함으로써 달성된다.
온라인으로 진행하는 것이 좋다.
이벤트 스토밍은 직접 대면할 때 가장 효과적이다.
- 이벤트 스토밍은 의사소통이 매우 중요한 워크숍입니다. 온라인 환경에서는 몸짓 언어와 음성 언어가 매우 제한적이므로 효과를 극대화 하려면 오프라인에서 진행하는 것이 좋다.
출저