Architecture Decision Records in MD and GIT
Architecture Decision Records in MD and GIT
Record (ADR)
# Title
## Context and Problem Statement
## Decision Drivers
## Considered Options
## Decision Outcome
## Consequences
## Validations
## Pros and Cons of the Options
- Example -
Considered Options
• NNNN-title-with-dashes.md -
format used by adr-tools
• YYYY-MM-DD Title -
see https://github.com/joelparke
rhenderson/architecture_decisio
n_record#adr-file-name-
conventions
- Example –
docs
decisions
0000-use-markdown-any-decision-records.md
0001-use-CC0-or-MIT-as-license.md
0002-do-not-use-numbers-in-headings.md
0003-provide-own-madr-tools.md
0004-write-own-toc-tool.md
0005-use-dashes-in-filenames.md
0006-use-names-as-identifier.md
0007-do-not-emphasize-line-headings.md
0008-add-status-field.md
0009-support-links-between-adrs.md
0010-support-categories.md
0011-use-asterisk-as-list-marker.md
0012-use-curly-brackets-placeholder.md
0013-use-yaml-front-matter-for-meta-data.md
0014-allow-neutral-arguments.md
Support Categories
docs
decisions
backend
0000-use-dotnetcore.md
ui
0000-use-angular.md
Decision Drivers
• Easy to find groups ADRs in
hundreds of ADRs
• Easy to group
• Easy to create
…
- Example -
Considered Options
• MADR 3.0.0 – The Markdown
Any Decision Records
• Michael Nygard's template – The
first incarnation of the term
"ADR"
• Sustainable Architectural
Decisions – The Y-Statements
• Other templates listed at
https://github.com/joelparkerhe
nderson/architecture_decision_r
ecord
• Formless – No conventions for
file format and structure
- Example -
Pros:
• conscious decision making
• understanding the context and
trade-offs
• accountability and openness
• highlights architectural weak spots
• easier start for new hires
How?
• Markdown
#Title #Context #Decision #Choices
• Source control
• docs/decisions/0001-this-is-title1.md
• docs/decisions/0002-this-is-title2.md
• Categories (optional)
• docs/decisions/backend
• docs/decisions/ui