Architecture Decision Record
Architecture Decision Record(ADR, 아키텍처 의사결정 기록)는 시스템 설계 과정에서 내린 중요한 아키텍처 결정을 그 배경과 대안, 근거와 함께 문서로 남기는 방법이다. 각 결정을 짧고 일관된 형식으로 기록해 팀이 맥락을 공유하도록 돕는다.
ADR은 왜 특정 선택을 했는지에 대한 지식을 보존해, 시간이 지나거나 담당자가 바뀌어도 결정의 이유를 이해할 수 있게 한다. 이를 통해 일관성 있는 설계와 효과적인 협업, 기술 부채 관리를 지원한다.
주요 특징
- 결정의 문서화: 중요한 아키텍처 선택을 명시적으로 기록함.
- 맥락과 근거 보존: 배경·대안·결정 이유를 함께 남김.
- 일관된 형식: 제목·상태·맥락·결정·결과의 표준 구조를 사용함.
- 버전 관리 연계: 코드 저장소에 함께 저장해 이력을 추적함.
- 경량 기록: 짧고 간결하게 작성해 부담을 줄임.
장점
- 지식 보존: 결정의 이유를 오래 유지해 이해를 돕음.
- 온보딩 지원: 신규 인원이 설계 맥락을 빠르게 파악함.
- 일관된 설계: 과거 결정을 참고해 일관성을 유지함.
- 투명한 협업: 결정 과정을 공유해 소통을 명확히 함.
- 기술 부채 관리: 결정의 영향을 추적해 개선을 계획함.
관련 용어
- 아키텍처: 시스템의 전체 구조와 관계를 정의하는 설계.
- 설계 결정(Design Decision): 구조와 기술에 관한 선택.
- 트레이드오프: 대안 간 장단점을 견주는 판단.
- 문서화(Documentation): 지식과 결정을 기록으로 남기는 활동.
- 거버넌스: 설계 원칙과 결정을 관리하는 체계.
주요 솔루션 및 사용 사례
- 주요 솔루션
- Markdown ADR 템플릿: 표준 형식으로 결정을 기록하는 문서 서식.
- adr-tools: ADR 작성과 관리를 돕는 명령줄 도구.
- 저장소 통합: 코드와 함께 ADR을 버전 관리함.
- 위키·문서 시스템: 결정 기록을 공유·검색하는 플랫폼.
- 아키텍처 리뷰 프로세스: 결정을 검토하고 기록하는 절차.
- 사용 사례
- 기술 스택 선정: 프레임워크·데이터베이스 선택 이유를 기록함.
- 아키텍처 전환: 마이크로서비스 도입 결정을 문서화함.
- 설계 표준 수립: 조직의 설계 원칙과 근거를 남김.
- 팀 온보딩: 신규 인원에게 설계 맥락을 전달함.
- 감사·회고: 과거 결정을 검토해 개선점을 도출함.


