WEBBOOK CHAPTER

요구사항을 코드의 경계로 바꾸는 도메인 설계: 2장. 사용자 여정을 업무 사건으로 번역한다

2장. 사용자 여정을 업무 사건으로 번역한다

화면의 버튼을 그대로 endpoint로 옮기지 않는다. 방문 요청, 시간 확정, 기사 수락, 결제 승인처럼 사업이 기억해야 할 사건을 시간순으로 놓고 주체와 결과를 붙인다. UI 개편에도 남는 언어가 경계 후보가 된다.

손쉽게 따라 하기

FieldPass 정상 여정과 취소·노쇼·중복 결제 여정을 사건 카드로 나란히 작성한다. 입력에는 실제 고객·계정·도메인 대신 tenant-demo, example.invalid와 저장소 fixture만 사용한다. 시작 전 기대 결과와 바꾸지 않을 불변식을 한 줄로 적는다.

같은 화면에서 확인할 증거

lab/public/index.html의 공통 FieldPass Evidence Board에서 책 slug domain-architecture-decisions, 장 번호 2, run ID를 선택한다. 입력, 판정, 관측값, rollback을 채우고 명령 결과와 같은지 확인한다. 성공 화면만 캡처하지 않고 의도한 실패 하나와 다음 안전 행동을 함께 남긴다.

막혔을 때

기술 이벤트와 업무 사건이 섞이면 고객이 이해할 문장만 먼저 남긴다. 원인을 확정하기 전 최근 변경, 환경, 권한, 시간 범위와 실제 오류를 고정한다. 외부 서비스를 반복 호출하지 않고 로컬 fixture로 최소 재현한 뒤 한 변수만 바꾼다. 복구는 process 상태가 아니라 FieldPass 예약·결제·정산의 업무 결과로 선언한다.