Architectural Decision Records (ADRs)
caution
This is page is work in progress
Architectual decision(AD) records are (source):
a software design choice that addresses a functional or non-functional requirement that is architecturally significant. An Architecturally Significant Requirement (ASR) is a requirement that has a measurable effect on a software system’s architecture and quality. An Architectural Decision Record (ADR) captures a single AD, such as often done when writing personal notes or meeting minutes; the collection of ADRs created and maintained in a project constitute its decision log. All these are within the topic of Architectural Knowledge Management (AKM).
Why?
We tend to make decisions very fast which may have a significant impact on the architecture. We use ADR to keep track of these decisions for future moments and future developers.
Why are these in the repository?
- Decisions are part of version control. Decisions history available.
- Decisions are very close on the actual code. Documentation on Confluence (or another platform) is often outdated. Also these decisions are coupled to releases now.
- Part of pull requests