ADR이란?
"아키텍처 결정 레코드"는 소프트웨어 아키텍처 의사 결정 과정을 문서로 기록하는 양식을 의미한다. 의사 결정 과정을 문서화한 자료는 지난 히스토리를 쉽게 파악하고 동료들을 설득하는 데에 사용된다.

양식
ADR 포맷
- 제목
- 아키텍처 결정을 간략히 기재
- 상태
- 제안됨 / 수락됨 / 대체됨
- 지난 의사 결정이 대체되는 경우, 지난 ADR에 의사결정이 대체되었다는 사실을 기록해둔다.
- 그리고 수락됨 ADR에는 대체된 ADR 경로를 기록해둔다.
- 제안됨 / 수락됨 / 대체됨
- 콘텍스트
- 왜 이렇게 결정할 수 밖에 없었나?
- 결정
- 결정. 그리고 그렇게 결정한 합당한 사유
- 결과
- 해당 결정이 미치는 영향
- 컴플라이언스 (옵션)
- 해당 작업이 반영되었음을 어떻게 확인할 수 있는가
- 노트 (옵션)
- 이 결정에 관한 메타데이터 (결정에 참여한 사람)
가이드
ADR AWS 권장 가이드를 참고하면, 프로세스와 예제 ADR 사례가 잘 작성되어있다.

사례
우아한형제들 기술블로그 (전체 서비스를 관통하는 도메인 모듈을 안전하게 분리하기)를 보면, ADR 변경 이력을 md 파일로 관리한 사례를 볼 수 있다.

참고

'소프트웨어-이야기 > 소프트스킬' 카테고리의 다른 글
| ChatGPT으로 개발 디자인 문서 작성 속도 높이기: 빠르게 다이어그램 그리기 (0) | 2023.04.04 |
|---|---|
| [다이어그램툴] excalidraw (0) | 2022.12.25 |
| XY Problem 이란? (2) | 2020.05.01 |
| (Google) 개발자를 위한 구글 스프레드 시트 팁 (0) | 2019.06.02 |
| 티스토리 에디터처럼 코드 하이라이트 변경하기 (0) | 2019.05.04 |