#note
## Abstract
- [http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions)
- Not all decisions will be made at once, nor will all of them be done when the project begins.
- Agile methods are not opposed to documentation, only to valueless documentation. Documents that assist the team itself can have value, but only if they are kept up to date. Large documents are never kept up to date. Small, modular documents have at least a chance at being updated.
## Detail
- Ideal [[ADR]] should be
- Low barrier to entry
- Minimal training
- Value-adding, useful
- Easy to update
- Something skeptics will accept
- [[ADR]] Should Include
- Short Text
- set of fources
- single decision
- Format
- Title
- These documents have names that are short noun phrases
- e.g "ADR 1: Deployment on Ruby on Rails 3.0.10"
- Context
- This section describes the forces at play, including technological, political, social, and project local. These forces are probably in tension, and should be called out as such
- Design decision
- This section describes our response to these forces. It is stated in full sentences, with active voice. "We will ..."
- Status
- proposed etc...
- Consequences
- This section describes the resulting context, after applying the decision
- Effective Way to operate
- Grow the team's design skills
- Small responsibility, little risk
- Easy to review
- Opportunity for training
- Peer review, pair, coach
- Get the whole team involved
- Spread knowledge
- Allow team to make decisions without architect
- How to Start
- You don't need permission to start!
- Step 1: Create a template
- Step 2: Create your team's first ADR
- Step 3: Ask someone to review it
## Template
- in IBM
- Number, title
- Context
- Value neutral, describe forces at play
- Decision
- 1 sentence, "We will ...."
- Status
- Proposed, Accepted, Deprecated, Superseded
- Consequences
- New context after decision applied
- Go beyond the obvious
plain
```
# ADR N: Brief Decision Title
Context goes here. Describe the forces at play, including technological, political,
social, and project local. These forces are likely in tension, and should be called
out as such. The language in this section is value-neutral. It is simply describing
facts. Rationale should be self-evident from the context
## Decision
This section describes our response to these forces. It is stated in full sentences,
with active voice. "We will ...“
## Status
choose one: [Proposed | Accepted | Deprecated | Superseded]
if deprecated, include a rationale. If superseded, include a link to the new ADR
## Consequences
Describe the resulting context, after applying the decision. All consequences should
be listed here, not just the "positive" ones. A particular decision may have positive,
negative, and neutral consequences, but all of them affect the team and project in the
future.
```
- in adr ([https://adr.github.io/)](https://adr.github.io/))
- [https://adr.github.io/madr/](https://adr.github.io/madr/)
## Ref
- [https://resources.sei.cmu.edu/asset_files/Presentation/2017_017_001_497746.pdf](https://resources.sei.cmu.edu/asset_files/Presentation/2017_017_001_497746.pdf)
- [[Design It!]] の著者の [[ADR]] についてスライド
- [http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions)
- by Michael Nygard
- [https://github.com/joelparkerhenderson/architecture_decision_record](https://github.com/joelparkerhenderson/architecture_decision_record)
- [https://adr.github.io/madr/](https://adr.github.io/madr/)
- [https://adr.github.io/](https://adr.github.io/)