다크 모드
의사결정 기록
의사결정 기록(Decision Log)은 프로젝트에서 내린 중요한 결정의 맥락, 대안, 선택 이유를 기록하는 문서입니다.
시간이 지나도 "왜 이렇게 결정했는가"를 팀 누구나 파악할 수 있도록 합니다.
정보
의사결정 기록은 ADR(Architecture Decision Record) 형식을 기반으로 하되, 기술 결정뿐 아니라 비즈니스 규칙 변경도 포함합니다.
언제 기록하나요?
다음 상황에서 의사결정 기록을 작성합니다:
- 기술 스택 변경 -- 새로운 라이브러리, 프레임워크, 서비스 도입 또는 교체
- 아키텍처 결정 -- 시스템 구조, 모듈 분리, 통신 방식 등의 설계 변경
- 비즈니스 규칙 변경 -- 도메인 로직, 상태 전이, 권한 체계 등의 변경
- 컨벤션 결정 -- 코딩 스타일, 네이밍, API 설계 원칙 등의 합의
- 트레이드오프가 있는 선택 -- 명확한 정답이 없어 논의 후 결정한 사항
파일 네이밍 규칙
{3자리 번호}-{kebab-case-제목}.md예시:
001-hexagonal-architecture.md002-eid-convention.md003-guest-participant-model.md
번호는 순차적으로 부여하며, 한번 부여된 번호는 변경하지 않습니다.
표준 구조
각 의사결정 기록에는 다음 항목을 포함합니다:
| 항목 | 설명 |
|---|---|
| 날짜 | 결정이 내려진 날짜 (YYYY-MM-DD) |
| 상태 | 제안됨, 승인됨, 폐기됨, 대체됨 중 하나 |
| 결정 사항 | 한 문장으로 요약한 결정 내용 |
| 맥락 | 결정이 필요했던 배경과 문제 상황 |
| 고려한 대안 | 검토한 선택지와 각각의 장단점 |
| 선택 이유 | 최종 선택의 근거와 판단 기준 |
| 결과 | 결정으로 인해 예상되거나 발생한 영향 |