A base repository for Architetcural Decision Recording guidance
In the context of [use case/user story u], facing [concern c] we decided for [option o] to achieve [quality q], accepting [downside d] .
or
In the context of [use case/user story u], facing [concern c] we decided for [option o] and neglected [other options], to achieve [system qualities/desired consequences], accepting [downside d/undesired consequences], because [additional rationale] .
Don’t document every tiny development decision - but concentrate on the following:
- critical or important for the system
- influencing important quality attributes
- unconventional (“off the beaten track”)
- risky
- with expensive consequences
- with long-lasting effects
- affecting either
- a large number of stakeholders
- very special or important stakeholders
- that took a long time or much effort to decide
- astonishing
- https://adr.github.io/
- https://adr.github.io/madr/
- https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions
- https://github.com/adoble/adr-j/tree/master/doc/adr
- https://docs.arc42.org/tips/9-1/
- http://wirfs-brock.com/PDFs/PatternsToDevelopAndEvolveArchitecture.pdf
- https://contextmapper.org/docs/home/
- https://github.com/TNG/ArchUnit
- https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=497744