프로그래밍

Architecture Decision Record (ADR)이란?

Victory_HA 2023. 5. 27. 17:49

https://github.com/joelparkerhenderson/architecture-decision-record

  • 소프트웨어 프로젝트에서는 다양한 아키텍처 결정이 이루어집니다.
  • 이러한 결정들은 소프트웨어 시스템의 동작, 구조, 품질 등에 영향을 미치게 됩니다.
  • 이러한 결정을 문서화하고 추적하기 위해 Architecture Decision Record (ADR)이 사용됩니다.

  • ADR은 소프트웨어 아키텍처 결정에 대한 문서입니다.
  • 각 ADR 문서는 특정 결정에 대한 배경, 이유, 대안, 선택한 결정, 결과 등을 기록합니다.
  • 이를 통해 프로젝트 팀과 이해 관계자들은 아키텍처에 대한 결정을 공유하고, 향후 변경 또는 유지 보수 작업에서 참고 자료로 활용할 수 있습니다.

  • ADR을 작성하는 이유는 다양합니다. 먼저, 결정의 이유와 대안을 문서화하여 향후 변경이나 유지 보수 작업에서의 참고 자료로 활용할 수 있습니다.
  • 또한, ADR은 프로젝트의 이력을 기록하는 데 도움을 주며, 새로운 팀 구성원이 프로젝트에 참여할 때 기존 결정을 이해하고 적절한 컨텍스트에서 작업할 수 있도록 돕습니다.

  • ADR은 소프트웨어 아키텍처의 투명성을 높이고 의사 결정 과정을 문서화함으로써 프로젝트의 전반적인 품질을 향상시킵니다.
  • 또한, ADR은 향후 아키텍처 변경이나 확장에 대한 지침이 될 수 있습니다.

  • ADR은 소프트웨어 개발자나 아키텍트에게 중요한 문서화 도구입니다.
  • 프로젝트에서의 아키텍처 결정을 기록하고 추적함으로써 향후 유지 보수 및 개선 작업에서의 이점을 얻을 수 있습니다.
  • ADR은 프로젝트의 투명성, 협업, 지식 공유 측면에서도 가치가 있습니다.

정리

  • ADR은 Architecture Decision Record의 약자로, 소프트웨어 아키텍처 결정을 문서화하는 도구입니다.
  • 각 ADR 문서는 결정의 배경, 이유, 대안, 선택한 결정, 결과 등을 기록합니다.
  • ADR은 프로젝트의 아키텍처 결정을 투명하게 만들어 향후 변경 및 유지 보수 작업에 도움을 주며, 팀 간 지식 공유와 협업을 촉진합니다.

'프로그래밍' 카테고리의 다른 글

[클린코드] 7장 오류 처리  (0) 2023.10.15
[클린코드] 6장 객체와 자료구조  (0) 2023.10.15
유스케이스 (Usecase)  (0) 2023.04.26
VisualStudio Copilot 설치하기  (0) 2023.03.30
[MinIO] MinIO Windows에 설치하기  (0) 2023.03.10