ADR (Architecture Decision Record)
중요한 설계 결정을 문서로 남기는 관행. "왜 이렇게 만들었지?"라는 질문에 나중에도 답할 수 있게 하는 것이 목적.
결정의 배경, 고려한 선택지, 최종 선택, 그 이유를 짧게 기록한다. 팀원 온보딩, 리팩터링 시점, 수개월 후 재방문할 때 맥락을 복원해준다.
전형적인 구조
- Context — 어떤 상황에서 결정이 필요했나
- Options — 어떤 선택지를 고려했나
- Decision — 무엇을 택했나
- Consequences — 그로 인한 트레이드오프
"Architecture"라는 이름이 붙었지만, 거대한 결정만이 대상이 아니다. 나중에 "왜?"라는 질문이 나올 만한 결정이면 무엇이든 기록할 가치가 있다.
실제 예시
decisions|sinabrolog ADR-001은 what-is-cms|CMS 선택 결정을 담고 있다. Contentful 같은 외부 서비스를 쓸지, Obsidian vault를 직접 소스로 쓸지 고민한 흔적과 이유가 기록되어 있다.