본문으로 건너뛰기

이벤트 스토밍 인 액션: 이벤트 스토밍 소개와 적용 방법

이벤트 스토밍​

프로젝트 참여하는 모든 이해관계자가 한자리에 모여 도메인 지식을 교환하고 용어를 통일하고 현재 프로젝트 내 회색 지대를 파악하여 향후 의사소통 비용을 절약하는 워크숍. 복잡한 비즈니스 도메인을 빠르게 탐색하고 학습할 수 있는 워크숍으로 이해관계자들이 도메인 지식을 학습할 수 있게 한다.

준비물

큰 회의실, 커다란 종이, 수 많은 포스트잇과 마커펜
실제 문제 해결에 관련된 모든 사람과 간식

퍼실리테이터​

이해관계자가 아닌 다른 사람이 진행하면 매우 도움이 된다.

success

도메인 지식 자체를 이해하려고 노력하지 않고, 참여자들의 워크숍이 원할하게 진행되도록 도와주면 좋다.

진행 방법​

포스트잇을 붙여 나간다. → 모든 사람이 적극적으로 참여할 수 있게 하고, 탈부착이 쉬움 + 참여자 부담 저하 👍
모든 사람의 생각을 허용하고 존중한다.
비즈니스 프로세스를 이해하는 데에 초점을 맞춘다.

success

최대 4~5시간 동안 진행하는 것이 좋다.
참여자들에게 이벤트 스토밍이 무엇인지, 도메인 이벤트가 무엇인지 간략하게 설명하고 시작하는 것이 좋다.

도메인 이벤트 - 주황색​

도메인 전문가가 관심이 있는 어떤 사건
이벤트는 과거 시제 → 이벤트의 발생은 상태가 변경되었다는 것

1단계: 혼란스러운 탐험​

각자가 알고 있는 도메인 이벤트를 작성한다. 이 때 토론은 하지 않는다.
안티패턴(위원회): 포스트잇을 붙이기 전에 합의에 도달하기 위해 논의하는 것은 좋지 않다. 논의하면서 시간이 소요된다.

success

40~50분 정도 진행 후 15분 정도 휴식을 취하면 좋다.
피자 2판 규모 팀이라면 50분 정도, 일반적으로 200개 정도의 도메인 이벤트가 기록된다.

2단계: 타임라인 적용​

모든 도메인 이벤트를 올바른 타임라인으로 정렬하고, 실제로 중복되는 이벤트를 제거한다.
시간은 왼쪽에서 오른쪽으로 흐르고, 위에서 아래로 평행한 시간을 표현한다.

success

3, 4시간 소요 → 당분 보충 + 가만히 앉아 있을 시간이 없으니 참여자들을 격려하라

드라이버와 내비게이터

타임라인을 정리할 때 드라이버와 내비게이터를 결정한다.
이미 잘 알고 있는 사람 or 배워야 할 사람
충분히 기여했다면 유동적으로 교체한다.

안티패턴: 스포츠카와 자율 주행, 스포일러

스포츠카: 드라이버가 아닌데 혼자서 빠르게 진행
자율주행: 자기 혼자 진행
스포일러: 탐구하는 것이 무슨 의미가 있냐라고 말하는 분

핫 스폿 - 자주색​

2단계에서 발생한 질문, 갈등, 불평, 불만 사항을 시각화하고 캡처한다.
당장 토론 X → 문제 해결시 제거한다.
핫스폿만 파악하더라도 의미있는 워크숍이 된다.

액터와 시스템 - 노란색과 분홍색​

사용자, 고객보다 → 구체적인 페르소나
외부 시스템부터 레거시나 마이크로서비스에 이르기까지 책임을 전가할 수 있는 모든 것

바운디드 컨텍스트​

커피 → 이탈리아에서는 에스프레소 미국에서는 아메리카노
같은 용어라도 의미가 다르고 같은 대상이라도 지칭하는 용어가 다를 수 있다.
명백한 언어 불일치는 종종 동일한 프로세스 내에서 여러 개의 바운디드 컨텍스트를 나타내는 지표다.

커맨드 또는 액션 - 파란색​

시스템에서 일어나는 일
도메인 이벤트가 발생하는 원인

리드 모델 또는 정보 - 초록색​

결정을 내리는 데 필요한 정보
도메인 이벤트의 결과가 리드 모델에 어떻게 반영되는지 확인할 수 있다.
클라이언트 개발자가 많이 있다면 리드 모델이 많이 등장함

정책 - 연보라색​

~할 때 마다 라는 단어로 시작한다.
도메인 이벤트와 커맨드 사이에 위치한다.
자동 or 수동이든 정책

비즈니스 규칙 - 연노란색​

유효성 검사
시스템이 기대하는 책임을 수행하며 일관성을 유지하는 단위
일관성은 항상 참이어야 하는 속성을 유지함으로써 달성된다.

후속조치​

핫스폿 이슈화하기
용어 사전 만들기
특정 도메인에 대해 깊게 탐구하기
경계를 그려 문제 해결하기