Skip to content

Instantly share code, notes, and snippets.

@khaledosman
Created November 9, 2021 09:21
Show Gist options
  • Save khaledosman/6549a571f99df81b121d6fb5aff6ca96 to your computer and use it in GitHub Desktop.
Save khaledosman/6549a571f99df81b121d6fb5aff6ca96 to your computer and use it in GitHub Desktop.
Architecture Decision Records
An Architecture Decision Record (ADR) is a document that captures a decision, including the context of how & why the decision was made and the consequences of adopting the decision. 
Key topics to include:
[short title of problem and solution]
Status: [proposed | rejected | accepted ]
Date: [YYYY-MM-DD when the decision was last updated]
Technical Story: [description | ticket/issue URL]
Context and Problem Statement
[Describe the context and problem statement, e.g., in free form using two to three sentences. You may want to articulate the problem in form of a question.]
Decision Drivers & Criteria (Optional)
[driver 1, e.g., a force, facing concern, …]
[driver 2, e.g., a force, facing concern, …]
Considered Options (Optional)
[option 1]
[option 2]
[option 3]
Pros and Cons of the Options (Optional)
[option 1]
[example | description | pointer to more information | …]
Good, because [argument a]
Good, because [argument b]
Bad, because [argument c]
[option 2]
[example | description | pointer to more information | …]
Good, because [argument a]
Good, because [argument b]
Bad, because [argument c]
[option 3]
[example | description | pointer to more information | …]
Good, because [argument a]
Good, because [argument b]
Bad, because [argument c]
Recommendation (Optional)
I like option 1 best because x, y, z.
Decision Outcome
Chosen option: "[option 1]", because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force force | … | comes out best (see below)].
Positive Consequences
[e.g., improvement of quality attribute satisfaction, follow-up decisions required, …]
Negative Consequences
[e.g., compromising quality attribute, follow-up decisions required, …]
Links to other research documents / sources (Optional)
https://github.com/joelparkerhenderson/architecture-decision-record
https://betterprogramming.pub/what-is-architecture-decision-record-110c597c13d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment