도메인 스토리텔링의 기본 요소
도메인 스토리텔링은 단일 스토리를 기반으로 하며, 대안이나 조건 없이 순서대로 진행되는 도메인 문장들로 구성됩니다. 각 문장은 순서 번호로 식별됩니다.
-
행위자 (Actors): 실제 사람, 시스템 또는 전화 벨소리, 비행기 이륙과 같은 사물도 될 수 있으며, 특정 활동을 수행합니다.
-
작업 객체 (Work Objects): 종이, PDF 파일과 같은 물리적이거나 전자적인 객체, 또는 구두 알림과 같은 비물리적인 객체도 포함됩니다.
-
활동 (Activities): 행위자가 작업 객체를 사용하여 수행하는 행동입니다.
-
주석 (Annotation): 위 요소들로 표현하기 어려운 가정이나 도메인 용어를 추가하는 데 사용됩니다.
드라이브 스루 주문 시나리오 예시
발표자는 드라이브 스루 레스토랑에서 고객이 주문하고 결제하는 과정을 모델링하며 도메인 스토리텔링을 시연했습니다.
-
고객이 주문 지점(키오스크)에 도착합니다.
-
모션 센서가 차량을 감지하여 계산원에게 알리고, 계산원은 주문을 받습니다.
-
주문은 POS(Point of Sale) 시스템에 입력되고, 키오스크에 주문 내역과 총액이 표시됩니다.
-
고객이 주문을 확인하면, 계산원은 POS 시스템에서 주문을 확정하고 고객에게 결제 창구로 이동하도록 안내합니다.
-
POS 시스템은 주방으로 주문을 보내고, 키오스크 화면은 새로운 고객을 유인하는 화면으로 바뀝니다.
-
고객은 결제 창구에서 결제하고, 계산원은 결제를 등록하며, POS 시스템은 영수증을 발행하여 고객에게 전달합니다. 이 과정에서 초기에는 생각하지 못했던 ‘모션 센서’와 같은 소프트웨어/하드웨어 구성 요소를 발견할 수 있었습니다. 이는 개발 전에 잠재적 문제를 식별하고 비용을 절감하는 데 도움이 됩니다.
도메인 스토리텔링을 넘어선 관점 (Beyond Domain Storytelling)
도메인 스토리 세션의 결과물(아티팩트)에 다양한 관점을 적용하여 심층적인 분석을 수행할 수 있습니다.
-
탄력성 (Resilience): 모션 센서, 키오스크, 주방 시스템, POS 시스템 등 특정 구성 요소가 다운되었을 때 비즈니스 프로세스에 미치는 영향을 분석합니다. 특히 POS 시스템 다운은 재정 규정 준수 문제로 이어져 큰 위험을 초래할 수 있음을 파악했습니다.
-
시스템 진화 (System Evolution): 업셀링/크로스셀링, 로열티 프로그램, 개인화(차량 번호판 인식) 등 비즈니스 전략에 따라 시스템이 어떻게 발전해야 하는지, 어디에 더 많은 유연성이 필요한지 식별합니다.
-
위험 (Risks): 결제 창구 대기열, 결제 전 주문 이행 여부(낭비 방지 vs 리드 타임 단축)와 같은 비즈니스 및 운영 위험을 논의합니다.
-
시스템 경계 및 통합 (System Boundaries & Integration): 행위자(시스템)를 중심으로 시스템의 경계와 책임, 그리고 API 통합 방식을 스케치합니다. 예를 들어, POS 시스템과 키오스크, 주방 시스템 간의 데이터 교환 및 이벤트 기반 통신 가능성을 탐색합니다.
-
반복적/점진적 전달 (Iterative/Incremental Delivery): 프로세스 내에서 필수적이지 않은 부분을 식별하여 후속 버전으로 미루거나, 다른 팀에 위임하여 병렬적으로 개발할 수 있는 부분을 파악합니다.
-
데이터 요구사항 (Data Needs): 키오스크의 프로모션 정보나 POS 시스템의 추천 데이터 소스 등 필요한 데이터와 그 출처를 논의하여 추가적인 도메인 스토리텔링 세션의 필요성을 도출합니다.