Learning Notes #54 β Architecture Decision Records
Last few days, i was learning on how to make a accountable decision on deciding technical stuffs. Then i came across ADR. So far i havenβt used or seen used by our team. I think this is a necessary step to be incorporated to make accountable decisions. In this blog i share details on ADR for my future reference.
What is an ADR?
An Architectural Decision Record (ADR) is a concise document that captures a single architectural decision, its context, the reasoning behind it, and its consequences. ADRs help teams document, share, and revisit architectural choices, ensuring transparency and better collaboration.
Why Use ADRs?
- Documentation: ADRs serve as a historical record of why certain decisions were made.
- Collaboration: They promote better understanding across teams.
- Traceability: ADRs link architectural decisions to specific project requirements and constraints.
- Accountability: They clarify who made a decision and when.
- Change Management: ADRs help evaluate the impact of changes and facilitate discussions around reversals or updates.
ADR Structure
A typical ADR document follows a standard format. Hereβs an example:
- Title: A clear and concise title describing the decision.
- Context: Background information explaining the problem or opportunity.
- Decision: A summary of the chosen solution.
- Consequences: The positive and negative outcomes of the decision.
- Status: Indicates whether the decision is proposed, accepted, superseded, or deprecated.
Example:
Optimistic locking on MongoDB https://docs.google.com/document/d/1olCbicQeQzYpCxB0ejPDtnri9rWb2Qhs9_JZuvANAxM/edit?usp=sharing