event-storming

DDD(Domain-Driven Design)의 Event Storming 기법을 활용하여 선택된 솔루션의 시스템 이벤트 흐름을 분석하고, PlantUML 시퀀스 다이어그램으로 표현하여 유저스토리 작성을 준비합니다.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "event-storming" with this command: npx skills add cna-bootcamp/clauding-guide/cna-bootcamp-clauding-guide-event-storming

이벤트 스토밍으로 기획 구체화

목적

DDD(Domain-Driven Design)의 Event Storming 기법을 활용하여 선택된 솔루션의 시스템 이벤트 흐름을 분석하고, PlantUML 시퀀스 다이어그램으로 표현하여 유저스토리 작성을 준비합니다.

사용 시점

  • 핵심 솔루션이 선정된 후

  • 유저스토리 작성 전 시스템 설계가 필요할 때

  • 비즈니스 플로우를 시각화해야 할 때

  • 사용자가 "이벤트 스토밍", "시퀀스 다이어그램", "유저플로우"를 언급할 때

필수 입력

  • 핵심 솔루션: think/핵심솔루션.md (solution-selection 결과)

  • 대상 고객 정의: define/고객분석.md (customer-analysis 결과)

  • User Journey Map (선택): define/유저저니맵.md (journey-mapping 결과)

  • 비즈니스 모델 (선택): think/비즈니스모델.md (business-modeling 결과)

Event Storming 프로세스

개념 이해

Event Storming은 Alberto Brandolini가 고안한 워크숍 기법으로, 비즈니스 도메인을 빠르게 탐색하고 시각화하는 방법입니다.

단계:

  • Big Picture: 전체 흐름 파악

  • Process Modeling: 프로세스 상세화

  • Software Design: 소프트웨어 설계

우리의 접근 방법

이 skill에서는 Event Storming의 핵심 요소만 추출하여:

  • 이벤트 (Events)

  • 커맨드 (Commands)

  • 액터 (Actors)

  • 정책/규칙 (Policies/Rules)

  • 외부 시스템 (External Systems)

  • 필요 데이터 (Data)

를 도출하고, 이를 PlantUML 시퀀스 다이어그램으로 작성합니다.

PlantUML 시퀀스 다이어그램 작성

  1. 유저플로우 식별

먼저 핵심 솔루션의 주요 사용자 플로우를 식별합니다.

예시:

  • 사용자 등록 플로우

  • 로그인 플로우

  • 주문 생성 플로우

  • 결제 플로우

  • 배송 조회 플로우

  1. 유저플로우 간 연결도 작성

파일명: think/es/userflow.puml

내용 예시:

@startuml !theme mono

title 유저플로우 연결도

rectangle "사용자 인증" as auth { (1. 회원가입) (2. 로그인) }

rectangle "주요 기능" as main { (3. 대시보드 조회) (4. 주문 생성) (5. 결제 진행) }

rectangle "부가 기능" as sub { (6. 주문 내역 조회) (7. 배송 추적) }

(1. 회원가입) --> (2. 로그인) (2. 로그인) --> (3. 대시보드 조회) (3. 대시보드 조회) --> (4. 주문 생성) (4. 주문 생성) --> (5. 결제 진행) (5. 결제 진행) --> (6. 주문 내역 조회) (6. 주문 내역 조회) --> (7. 배송 추적)

@enduml

  1. 각 유저플로우별 시퀀스 다이어그램 작성

각 유저플로우마다 별도의 PlantUML 파일로 작성합니다.

파일명 형식: think/es/{순번}-{유저플로우명}.puml

  • 참여자: Actor, 내부서비스, 외부시스템으로만 구성

  • 내부서비스: 내부의 업무 그룹을 명시. 예) 회원업무, 결제업무

  • 외부시스템: "(E){외부시스템명}"으로 표시. 예) (E)CRM

  • (중요) 내부서비스 내부와 외부시스템 내부에서 이루어지는 플로우는 표시하지 않음

  • (중요) 이벤트 스토밍 요소를 명확히 표시: [{이벤트 스토밍 요소}] {내용}

  • 예1) [이벤트] 차량등록 시작됨

  • 예2) [커맨드] 차량 등록 버튼 클릭

  • 예3) [정책/규칙] 가격 100만원 이상 확인

  • 예4) [데이터] 차량정보

  • 이벤트: 과거형으로 표현 (예: "회원가입 완료됨", "주문 생성됨")

  • 커맨드: 명령형으로 표현 (예: "회원가입 요청", "주문 생성")

  • 데이터: 화살표 라벨에 괄호로 명시 (예: (이메일, 비밀번호) )

  • 정책: note over 사용하여 명시

  1. Event Storming 핵심 요소 도출

이벤트 (Events)

시스템에서 발생하는 중요한 사건 (과거형)

표기: [이벤트명] 발생

예시:

  • 회원가입 완료됨

  • 로그인 성공됨

  • 주문 생성됨

  • 결제 완료됨

  • 배송 시작됨

커맨드 (Commands)

사용자나 시스템이 수행하는 행위 (명령형)

표기: [커맨드명]

예시:

  • 회원가입 요청

  • 로그인 시도

  • 주문 생성

  • 결제 진행

  • 배송 조회

액터 (Actors)

시스템과 상호작용하는 주체

예시:

  • 사용자

  • 관리자

  • 배송 기사

  • 시스템 스케줄러

정책/규칙 (Policies/Rules)

이벤트 발생 시 자동으로 실행되는 규칙

표기: note over [참여자] : [정책/규칙]

예시:

  • "이메일 중복 확인"

  • "재고 확인 필수"

  • "결제 금액 검증"

  • "배송지 유효성 검사"

외부 시스템 (External Systems)

시스템이 연동하는 외부 서비스

예시:

  • 결제 게이트웨이 (PG사)

  • 이메일 발송 서비스

  • SMS 서비스

  • 물류 시스템

  • 지도 API

필요 데이터 (Data)

각 단계에서 필요한 데이터를 명시

표기: 화살표 라벨에 (데이터) 로 표시 예시:

  • (이메일, 비밀번호, 이름)

  • (주문 ID, 상품 목록, 배송지)

  • (결제 금액, 결제 수단)

PlantUML 확인 방법

작성한 PlantUML 다이어그램은 다음 방법으로 확인할 수 있습니다:

방법 1: PlantUML Online Server

  • https://plantuml.com 접속

  • 좌측 메뉴에서 "Online Server" 클릭

  • PlantUML 스크립트 붙여넣기

  • 하단 우측 PNG 또는 SVG 링크에서 우클릭 > "새 탭에서 링크 열기"

방법 2: VS Code 플러그인

  • VS Code에서 "PlantUML" 확장 설치

  • .puml 파일 열기

  • Alt + D (미리보기 창 열기)

도구 활용

작성 순서

  • 핵심 솔루션 분석

  • 주요 유저플로우 식별 (5-10개)

  • 유저플로우 간 연결도 작성

  • 각 유저플로우별 시퀀스 다이어그램에 아래 이벤트 스토밍 요소 식별하여 작성

  • 이벤트 (Events)

  • 커맨드 (Commands)

  • 액터 (Actors)

  • 정책/규칙 (Policies/Rules)

  • 외부 시스템 (External Systems)

  • 필요 데이터 (Data)

출력 파일

필수 파일

  • 유저플로우 연결도: think/es/userflow.puml

  • 각 유저플로우 시퀀스: think/es/{순번}-{유저플로우명}.puml

  • 예: think/es/01-회원가입.puml

  • 예: think/es/02-로그인.puml

  • 예: think/es/03-대시보드조회.puml

파일명 규칙

  • 순번: 2자리 숫자 (01, 02, 03...)

  • 유저플로우명: 한글로 작성

  • 확장자: .puml

중요 가이드라인

PlantUML 작성 규칙

  • 테마: 항상 !theme mono 사용

  • 한국어: 모든 텍스트를 한국어로 작성

Sequential MCP 활용

  • 복잡한 도메인 분석

  • 이벤트와 커맨드 도출

  • 유저플로우 간 의존성 분석

품질 기준

  • 실제 시스템 아키텍처를 반영

  • 유저스토리로 직접 변환 가능한 수준

  • 개발팀이 이해하고 구현할 수 있는 명확성

  • 비즈니스 로직과 기술적 세부사항의 균형

다음 단계

Event Storming이 완료되면:

  • user-stories skill을 사용하여 유저스토리 작성

  • 시퀀스 다이어그램을 참고하여 Acceptance Criteria 작성

  • Epic과 Story 우선순위 결정

  • Sprint Planning 수행

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

business-modeling

No summary provided by upstream source.

Repository SourceNeeds Review
General

service-planning

No summary provided by upstream source.

Repository SourceNeeds Review
General

solution-selection

No summary provided by upstream source.

Repository SourceNeeds Review
General

ideation

No summary provided by upstream source.

Repository SourceNeeds Review