Architecture Decision Records
Architecture Decision Records (ADRs) represent a lightweight documentation technique that captures architecturally significant decisions and their rationale in software development projects. An ADR documents a single architectural decision together with its context, consequences, and the forces that influenced the choice.
ADRs were popularized by Michael Nygard around late 2011 during his time at Cognitect, particularly after he published about the practice there in his blog post titled Documenting Architecture Decisions (2011).
See also
- The original post from Michael Nygard: Documenting Architecture Decisions
- Practical guidance on adopting ADRs: Using architectural decision records to streamline technical decision-making for a software development project
- More history on ADRs: Love Unrequited: The Story of Architecture, Agile, and How Architecture Decision Records Brought Them Together
- Tooling: adr-tools, adr-viewer and pyadr
References
Keeling, Michael. 2022. “Love Unrequited: The Story of Architecture, Agile, and How Architecture Decision Records Brought Them Together.” IEEE Software 39 (4): 90–93. https://doi.org/10.1109/MS.2022.3166266.
Nygard, Michael. 2011. “Documenting Architecture Decisions.” Cognitect.com. November 15, 2011. https://www.cognitect.com/blog/2011/11/15/documenting-architecture-decisions.
“Using Architectural Decision Records to Streamline Technical Decision-Making for a Software Development Project - AWS Prescriptive Guidance.” 2022. AWS Prescriptive Guidance. March 16, 2022. https://docs.aws.amazon.com/prescriptive-guidance/latest/architectural-decision-records/welcome.html.