본문 바로가기

소프트웨어-이야기/소프트스킬

ADR: Architecture Decision Record

ADR이란?

"아키텍처 결정 레코드"는 소프트웨어 아키텍처 의사 결정 과정을 문서로 기록하는 양식을 의미한다.

의사 결정 과정을 문서화한 자료는 지난 히스토리를 쉽게 파악하고 동료들을 설득하는 데에 사용된다.

 

설계가 고도화되면서 의사결정안이 계속 변경되면, 의사결정 과정의 맥락을 까먹게 된다. ADR 양식을 사용하면, 이러한 맥락을 쉽게 따라갈 수 있다. 

양식

ADR 포맷

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

참고

http://www.yes24.com/Product/Goods/104491433 > 소프트웨어 아키텍처 101 19장

https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/architectural-decision-records/adr-process.html