ADR 작성 방법 v2 - linewalks/dev-common GitHub Wiki
ADRs(Architecture Decision Records)
ADR은 구조(Architecture)적인 결정(Decision)에 대한 기록(Records)입니다.
ADR은 다음의 내용을 포함합니다.
- 제안 이유
- 결정 이유
- 결과
왜 작성해야하는가
(이건 더 상세히 써야겠음)
- 미래의 당신을 위해
- 당신의 동료를 위해
- 미래의 동료를 위해
작성 위치
구조적인 결정을 한 조직에 따라 작성 위치가 달라집니다.
전체 개발 관련
포지션별
프로젝트별
-
개발 관련
- 개발자 사이의 구조 결정인 경우, github wiki 이용
-
개발 외
- 기획자 또는 디자이너가 관여해야하는 구조의 경우, Confluence 페이지를 이용
작성 방법
ADR의 제목과 본문은 다음 가이드를 지키며 작성합니다.
언어
- 한국어
- 단어 영어 허용
- 템플릿에 포함된 항목명 영어 허용
문투
- 1순위: 술어 없이
- ~~로 결정
- ~~ 요청
- 2순위: ~음 (1순위로 해결안되는 것들)
- ~~로 결정함
- ~~ 요청함
항목
ADR에 포함되어야하는 항목은 다음과 같습니다.
날짜
해당 결정이 내려진 날짜입니다.
YYYY-MM-DD
포맷으로 작성합니다.
Status
해당 제안에 대해 내려진 결정 상태입니다. 다음 중, 하나로 작성합니다.
- Proposed
- 해당 제안에 대한 결정이 아직 내려지지 않은 상태
- Accepted
- 제안이 수용되었습니다.
- Rejected
- 제안이 거절되었습니다.
- Canceled
- 제안이 수용되었었지만, 그 후에 취소되었습니다.
- 주로 다른 결정이 이전 결정에 영향을 줄 때 사용합니다.
Context
- 해당 제안을 하게 된 이유를 작성합니다.
Decision
- 해당 결정에 대해서 어떤 논의가 이루어 졌고 어떤 결정을 하게 되었는지 작성합니다.
Consequences
- 결정에 따라 그 다음 행동해야하는 일을 작성합니다.
- 어떻게 수정해야하는지
- 어떤 영향이 있는지
- 누가 작업해야하는지
References
- 참조할 링크를 작성합니다. (이슈, 문서, 외부 등등)