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?

  1. Decisions are part of version control. Decisions history available.
  2. 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.
  3. Part of pull requests