LostCatBox

about-ADR

Word count: 184Reading time: 1 min
2025/11/01 Share

참고자료

왜?

  • 서비스를 개선함에 따라, 왜 이런 결정을 했었는지 남겨놓기 위해서

ADR?

  • 의미 : Architecture Decision Recode의 줄임어. 어떤 문제, 이슈들에 대해서 어떻게 결정되었는지 남기는 문서
  • 구성
    • Title
    • Status
    • Context
    • Decision
    • Consequences

Title

  • ADR에 대한 제목

Status

  • 해당 문서의 상태를 나타낸다
  • 예시 : Proposed, accepted, rejected, deprecated, superseded

Context

  • 문제나 이슈에 대한 자세한 내용
  • 예시 :
    • ABC 애플리케이션은 배포 패키지를 사용하여 고객 환경에 배포되는 패키지 솔루션입니다. 제어 가능한 기능, 핫픽스 및 릴리스 파이프라인을 확보할 수 있는 개발 프로세스가 필요합니다.

Decision

  • AD에 대한 결정

    • 제안하고자 했던 내용, 해당 결정의 이유, 의사결정 과정에서 고려했던 대안과 장단점 작성
  • 예시 :

    • 여기서는 수정된 버전의 GitFlow 워크플로를 사용하여 ABC 애플리케이션을 개발합니다.

    • 단순화를 위해 hotfix/*release/* 브랜치를 사용하지 않습니다. ABC 애플리케이션을 특정 환경에 배포하는 대신 패키지화할 것이기 때문입니다. 따라서 프로덕션 릴리스의 버그를 수정하기 위해 신속하게 대응하거나 별도의 환경에서 릴리스를 테스트하는 데 방해가 될 수 있는 복잡성을 더할 필요가 없습니다

    • 합의된 브랜치 전략은 다음과 같습니다.

      • 릴리스에 태그를 지정하는 데 사용되는 보호되는 main 브랜치가 각 리포지토리에 있어야 합니다.

      • 진행 중인 모든 개발 작업을 위한 보호되는 develop 브랜치가 각 리포지토리에 있어야 합니다.

Consequences

  • 결과적으로 어떤 효과?
  • 예시: 장점, 단점
CATALOG
  1. 1. 참고자료
  2. 2. 왜?
  3. 3. ADR?
    1. 3.1. Title
    2. 3.2. Status
    3. 3.3. Context
    4. 3.4. Decision
    5. 3.5. Consequences