이벤트 스토밍 세션 수행 가이드

게시 됨: 2021-07-20

비즈니스 시스템에 대한 포괄적인 이해를 개발하는 것은 힘든 일입니다. 일반적으로 높은 수준의 모델링 또는 복잡한 프로세스 매핑이 포함됩니다. 이것은 많은 시행착오를 수반하는 고도로 기술적이고 힘든 과정일 수 있습니다. BPMN 다이어그램 또는 UML 도식을 만드는 것은 비즈니스의 더 넓은 기능을 이해하는 데 매우 유용할 수 있지만 본질적으로 기술적이고 비기술적인 도메인 전문가를 배제할 수 있습니다.

도메인 주도 설계

Domain-Driven Design은 비즈니스 요구와 프로세스에 대한 자세한 이해를 가능하게 하는 기술 독립적인 언어를 설정하는 방법론입니다. 이를 통해 이해 관계자는 시스템에 대한 공유된 이해를 개발하기 위해 언어에 구애받지 않는 방식으로 자신의 도메인 지식을 나머지 팀과 소통할 수 있습니다.

이벤트 스토밍이란 무엇입니까?

이벤트 스토밍은 기술 및 비기술 이해 관계자를 모아 복잡한 비즈니스 도메인을 탐색하는 도메인 주도 설계에 대한 워크숍 기반 접근 방식입니다. 비즈니스 프로세스 또는 비즈니스 애플리케이션의 컨텍스트에서 생성되는 도메인 이벤트에 중점을 둡니다. 일반적으로 제품 소유자, 도메인 전문가 및 개발자가 포함됩니다.

이벤트 스토밍 방법은 Alberto Brandolini가 EventStorming 소개에서 소개하고 공개했습니다. 솔루션 설계를 신속하게 포착하고 설계에 대한 팀의 이해를 향상시키는 기술로 사용됩니다.

이벤트 스토밍은 그룹 학습의 한 형태이며 개발 팀과 제품 팀을 통합하여 대안 솔루션을 함께 만드는 재미있는 방법입니다. 이벤트 스토밍은 성숙한 제품을 보유한 팀이 프로세스를 주문하고 병목 현상 및 충돌 영역을 찾는 데 유용할 수도 있습니다.

이벤트 스토밍 세션은 일반적으로 다음을 위해 수행됩니다.

  • 프로젝트 개발을 위한 비즈니스 모델을 만듭니다.
  • 제품 모델의 목표와 요구 사항을 강조하여 모든 복잡성에서 제품 모델에 대한 "큰 그림" 인식을 얻으십시오.
  • 제품 모델을 시각화하고 대안 솔루션을 브레인스토밍합니다.
  • 성숙한 제품에서 병목 현상과 충돌 영역을 찾습니다.

이벤트 스토밍의 이점

제품을 빌드하는 동안 개발 팀이 제품이 작동하는 비즈니스 도메인에 정통하는 것이 중요합니다. 이를 통해 보다 명확한 초기 분석과 보다 집중적인 빌드를 수행할 수 있습니다. 이벤트 스토밍 세션과 같은 워크샵은 비즈니스와 제품 팀 간의 전반적인 협력을 강화할 수 있습니다.

Quick: 대부분의 다른 비즈니스 프로세스 모델링 기술은 비즈니스 운영에 대한 심층적인 심층 분석입니다. 여기에는 복잡한 데이터 모델 사용이 포함되며 정확한 그림을 묘사하는 데 몇 주가 걸릴 수 있습니다. 이벤트 스토밍은 도메인 기반 설계를 모델링하는 빠른 접근 방식입니다. 이벤트 스톰은 일반적으로 전체 비즈니스 프로세스를 몇 시간 안에 매핑할 수 있는 하루 이벤트입니다.

기술 이해 관계자와 비기술 이해 관계자 간의 공유 이해 : UML과 달리 이벤트 폭풍은 사전 기술 지식 없이도 쉽게 이해할 수 있는 비즈니스 프로세스를 나타냅니다.

협업: 이벤트 폭풍의 핵심 개념은 도메인 전문가 간의 참여와 상호 작용을 장려하는 것입니다. 비즈니스 모델을 만들고 결과적으로 더 가치 있는 통찰력을 발견할 수 있는 매력적인 환경을 만듭니다.

효과: 이벤트 스토밍의 가장 큰 이점은 시작되는 대화입니다. 팀은 워크숍에서 얻은 지식을 사용하여 향후 모델링 프로세스에 정보를 제공하고 제품을 빌드하거나 단순히 이벤트 스토밍을 사용하여 비즈니스 프로세스를 더 잘 이해하고 앞으로 더 나은 결정을 내릴 수 있습니다.

이벤트 스톰 실시

이벤트 스톰을 수행하려면 특정 도메인 전문 지식을 가진 다양한 이해 관계자를 함께 모아야 합니다. 이는 물리적 위치에서 수행하거나 Creately와 같은 협업 화이트보드 도구를 사용하여 가상으로 수행할 수 있습니다. 하나의 무한한 캔버스에서 전체 세션을 원격으로 진행할 수 있으며 이해 관계자가 실시간으로 생각과 아이디어를 교환할 수 있는 공유 공간으로 사용할 수 있습니다.

1단계: 도메인 이벤트

첫 번째 단계는 도메인 이벤트를 식별하는 것입니다. 비즈니스 시스템에서 일어난 일에 대한 사실적 진술입니다. 참가자들은 중요한 반응을 촉발한 시스템에서 발생한 모든 일을 브레인스토밍하고 나열합니다. 그런 다음 가상 캔버스에 이러한 이벤트를 색상으로 구분된 메모로 나열합니다. 참가자들이 이것을 '무슨 일이 일어났는가' 진술로 틀을 잡을 수 있도록 이 진술을 과거 시제로 표현하는 것이 중요합니다. 참가자가 캔버스에 이벤트를 추가하면 이벤트가 발생한 시간 프레임에 따라 이벤트를 구성할 수 있습니다.

도메인 이벤트의 예

2단계 - 명령

다음 단계는 이벤트가 발생한 이유를 식별하는 것입니다. 이 단계에서 팀은 이벤트를 촉발한 원인을 분석합니다. 사건이 과거에 대한 사실적 진술인 반면, 명령은 미래에 일어날 일에 대한 우리의 의도를 표현합니다. 명령은 일반적으로 파란색 메모에 나열됩니다. 이벤트는 과거 시제 문장으로 캡처되지만 명령은 현재 시제 의도로 나열됩니다. 명령은 사용자 및 시스템 작업으로 문서화될 수 있습니다.

협업 도메인 디자인을 위한 이벤트 스토밍 템플릿
이벤트 스토밍 템플릿(템플릿을 클릭하여 온라인으로 편집)

3단계 - 집계

이것은 일반적으로 일련의 이벤트에서 발생하는 시스템에서 발생하는 일입니다. 명사로 표현되어야 하는 고차 비즈니스 엔터티입니다.

예: '주문 프로세스'. 집계는 일반적으로 캔버스에 있는 메모 모음으로 구성됩니다.

해당 명령과 책임 행위자가 있는 이벤트 클러스터로 표시됩니다. 그런 다음 해당 집계의 이름을 지정하고 캔버스의 더 큰 색상 조정 메모에 배치할 수 있습니다.

4단계 – 바인딩된 컨텍스트

이것은 관련 엔터티를 함께 그룹화하는 기능의 범주화로 구성된 상위 수준 구조입니다. 팀은 관련 모듈 주위에 상자나 원을 그려 경계 컨텍스트라는 요소 내에서 모듈을 그룹화하기 시작합니다. 그런 다음 제한된 컨텍스트 내의 모듈이 다른 컨텍스트와 상호 작용하는 방식을 설명하여 컨텍스트 매핑을 시작할 수 있습니다. 간단히 말해서 모든 관련 이벤트는 동일한 경계 컨텍스트에 속합니다. 예를 들어 장바구니와 관련된 모든 이벤트는 장바구니 경계 컨텍스트에 속합니다.

제한된 컨텍스트가 있는 이벤트 스토밍 세션
제한된 컨텍스트가 있는 이벤트 스토밍 템플릿(템플릿을 클릭하여 온라인으로 편집)

이벤트 스토밍 세션 수행을 위한 팁

  • 참가자: 성공적인 이벤트 폭풍의 핵심 측면은 적합한 사람들을 조직하는 것입니다. 참가자는 여러 도메인에 걸쳐 도메인 전문 지식을 갖춘 주요 이해 관계자로 구성되어야 합니다. 효과적인 이벤트 폭풍에는 일반적으로 자유로운 대화와 협업 환경을 보장하기 위해 소규모 이해 관계자 그룹이 있습니다.
  • 세션 계획: 세션 의 목표와 의도를 설정합니다. 이를 통해 세션에 포함되어야 하는 것과 제외해야 하는 측면에 더 집중할 수 있습니다.
  • 사전에 지침 보내기: 참가자가 운동의 요점이 무엇이며 무엇을 기대하는지 이해할 수 있도록 합니다. 세션을 진행하는 동안 참가자가 명확하게 이해할 수 있도록 키가 무엇인지, 다른 색상의 메모가 무엇을 나타내는지에 대한 지침을 보냅니다.
  • 기술적 언어로 토론 : 구현의 세부 사항으로 인해 대화가 중단되지 않도록 합니다. 이러한 대화는 기술적 배경에 관계없이 모든 사람이 참여할 수 있도록 본질적으로 보다 개념적이어야 합니다.
  • 예제 제공 : 참가자들이 무엇을 해야 하는지 알 수 있도록 완성된 이벤트 스토밍 캔버스를 보여주는 것이 도움이 됩니다.

이벤트 스토밍 세션을 진행한 경험이 있습니까? 그것에 대해 알려주십시오.

이전에 이벤트 스토밍 세션에 참여했거나 진행한 적이 있는 경우, 귀하의 경험과 학습 결과에 대해 듣고 싶습니다. 의견 섹션에서 귀하의 생각을 알려주십시오.