3.1. ADR About¶
ADR - Architectural Decision Records
An Architectural Decision (AD) is a justified 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 and its rationale; 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), but ADR usage can be extended to design and other decisions ("any decision record") .
3.1.1. Golden Circle¶
Why? - Your core purpose or belief
How? - What stands you apart from the competition
What? - The product or service you provide
Status - What is the status, such as proposed, accepted, rejected, deprecated, superseded, etc.?
Problem - What we want to change?
Motivation - Why we want to change it?
Consideration - List of options (each option will be described later)
Options - Options and consequences: pros and cons, examples and use-cases
Decision - What is the change that we're proposing and/or doing?