NNNN. (결정을 한 문장으로 — 예: 메시지 브로커로 Kafka를 채택한다)

  • 상태: Proposed | Accepted | Superseded by NNNN | Deprecated
  • 결정일: YYYY-MM-DD
  • 결정자: (참여자 이름 — 나중에 물어볼 사람을 알기 위해)
  • 관련 문서: (Design Doc, PRD, 이슈 링크)

맥락 (Context)

어떤 상황에서 이 결정이 필요했는가. 당시의 제약 조건(일정, 인력, 기존 시스템, 비용)을 포함한다. 이 섹션이 부실하면 6개월 뒤 아무도 이 결정을 이해하지 못한다.

고려한 옵션 (Considered Options)

  1. 옵션 A — 한 줄 설명
  2. 옵션 B — 한 줄 설명
  3. 옵션 C — 한 줄 설명

옵션별 비교

기준옵션 A옵션 B옵션 C
(예: 운영 복잡도)낮음높음중간
(예: 팀 숙련도)있음없음있음
(예: 비용)

결정 (Decision)

옵션 X를 선택한다. 선택의 결정적 이유를 2~3문장으로. “모든 면에서 우월해서”가 아니라 어떤 트레이드오프를 감수하기로 했는지를 쓴다.

결과 (Consequences)

  • 좋아지는 것:
  • 감수하는 것 (단점, 새로 생기는 운영 부담):
  • 후속 작업: (이 결정 때문에 해야 하는 일)

재검토 조건 (선택)

어떤 상황이 되면 이 결정을 다시 봐야 하는가. (예: 트래픽 10배, 팀 규모 변화)