-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d2a5d8e
commit 555a40a
Showing
1 changed file
with
121 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
--- | ||
title: "이벤트 스토밍 인 액션: 이벤트 스토밍 소개와 적용 방법" | ||
slug: /etc/event-storming | ||
last_update: | ||
date: 2023/11/17 | ||
tags: [etc] | ||
--- | ||
|
||
### 이벤트 스토밍 | ||
|
||
프로젝트 참여하는 모든 이해관계자가 한자리에 모여 도메인 지식을 교환하고 용어를 통일하고 현재 프로젝트 내 회색 지대를 파악하여 향후 의사소통 비용을 절약하는 워크숍. | ||
복잡한 비즈니스 도메인을 빠르게 탐색하고 학습할 수 있는 워크숍으로 이해관계자들이 도메인 지식을 학습할 수 있게 한다. | ||
|
||
:::note 준비물 | ||
|
||
큰 회의실, 커다란 종이, 수 많은 포스트잇과 마커펜 | ||
실제 문제 해결에 관련된 모든 사람과 간식 | ||
|
||
::: | ||
|
||
### 퍼실리테이터 | ||
|
||
이해관계자가 아닌 다른 사람이 진행하면 매우 도움이 된다. | ||
|
||
:::success | ||
도메인 지식 자체를 이해하려고 노력하지 않고, 참여자들의 워크숍이 원할하게 진행되도록 도와주면 좋다. | ||
::: | ||
|
||
### 진행 방법 | ||
|
||
포스트잇을 붙여 나간다. → 모든 사람이 적극적으로 참여할 수 있게 하고, 탈부착이 쉬움 + 참여자 부담 저하 👍 | ||
모든 사람의 생각을 허용하고 존중한다. | ||
비즈니스 프로세스를 이해하는 데에 초점을 맞춘다. | ||
|
||
:::success | ||
최대 4~5시간 동안 진행하는 것이 좋다. | ||
참여자들에게 이벤트 스토밍이 무엇인지, 도메인 이벤트가 무엇인지 간략하게 설명하고 시작하는 것이 좋다. | ||
::: | ||
|
||
### 도메인 이벤트 - 주황색 | ||
|
||
도메인 전문가가 관심이 있는 어떤 사건 | ||
이벤트는 과거 시제 → 이벤트의 발생은 상태가 변경되었다는 것 | ||
|
||
### 1단계: 혼란스러운 탐험 | ||
|
||
각자가 알고 있는 도메인 이벤트를 작성한다. 이 때 토론은 하지 않는다. | ||
안티패턴(위원회): 포스트잇을 붙이기 전에 합의에 도달하기 위해 논의하는 것은 좋지 않다. 논의하면서 시간이 소요된다. | ||
|
||
:::success | ||
40~50분 정도 진행 후 15분 정도 휴식을 취하면 좋다. | ||
피자 2판 규모 팀이라면 50분 정도, 일반적으로 200개 정도의 도메인 이벤트가 기록된다. | ||
::: | ||
|
||
### 2단계: 타임라인 적용 | ||
|
||
모든 도메인 이벤트를 올바른 타임라인으로 정렬하고, 실제로 중복되는 이벤트를 제거한다. | ||
시간은 왼쪽에서 오른쪽으로 흐르고, 위에서 아래로 평행한 시간을 표현한다. | ||
|
||
:::success | ||
3, 4시간 소요 → 당분 보충 + 가만히 앉아 있을 시간이 없으니 참여자들을 격려하라 | ||
::: | ||
|
||
**드라이버와 내비게이터** | ||
|
||
타임라인을 정리할 때 드라이버와 내비게이터를 결정한다. | ||
이미 잘 알고 있는 사람 or 배워야 할 사람 | ||
충분히 기여했다면 유동적으로 교체한다. | ||
|
||
**안티패턴: 스포츠카와 자율 주행, 스포일러** | ||
|
||
스포츠카: 드라이버가 아닌데 혼자서 빠르게 진행 | ||
자율주행: 자기 혼자 진행 | ||
스포일러: 탐구하는 것이 무슨 의미가 있냐라고 말하는 분 | ||
|
||
### 핫 스폿 - 자주색 | ||
|
||
2단계에서 발생한 질문, 갈등, 불평, 불만 사항을 시각화하고 캡처한다. | ||
당장 토론 X → 문제 해결시 제거한다. | ||
핫스폿만 파악하더라도 의미있는 워크숍이 된다. | ||
|
||
### 액터와 시스템 - 노란색과 분홍색 | ||
|
||
사용자, 고객보다 → 구체적인 페르소나 | ||
외부 시스템부터 레거시나 마이크로서비스에 이르기까지 책임을 전가할 수 있는 모든 것 | ||
|
||
### 바운디드 컨텍스트 | ||
|
||
커피 → 이탈리아에서는 에스프레소 미국에서는 아메리카노 | ||
같은 용어라도 의미가 다르고 같은 대상이라도 지칭하는 용어가 다를 수 있다. | ||
명백한 언어 불일치는 종종 동일한 프로세스 내에서 여러 개의 바운디드 컨텍스트를 나타내는 지표다. | ||
|
||
### 커맨드 또는 액션 - 파란색 | ||
|
||
시스템에서 일어나는 일 | ||
도메인 이벤트가 발생하는 원인 | ||
|
||
### 리드 모델 또는 정보 - 초록색 | ||
|
||
결정을 내리는 데 필요한 정보 | ||
도메인 이벤트의 결과가 리드 모델에 어떻게 반영되는지 확인할 수 있다. | ||
클라이언트 개발자가 많이 있다면 리드 모델이 많이 등장함 | ||
|
||
### 정책 - 연보라색 | ||
|
||
~할 때 마다 라는 단어로 시작한다. | ||
도메인 이벤트와 커맨드 사이에 위치한다. | ||
자동 or 수동이든 정책 | ||
|
||
### 비즈니스 규칙 - 연노란색 | ||
|
||
유효성 검사 | ||
시스템이 기대하는 책임을 수행하며 일관성을 유지하는 단위 | ||
일관성은 항상 참이어야 하는 속성을 유지함으로써 달성된다. | ||
|
||
### 후속조치 | ||
|
||
핫스폿 이슈화하기 | ||
용어 사전 만들기 | ||
특정 도메인에 대해 깊게 탐구하기 | ||
경계를 그려 문제 해결하기 |