Less Mentioned Benefits of Architecture Decision Records

Hans L'HoestHans L'Hoest
2 min read

Teams adopt Architecture Decision Records (ADRs) to document decisions, avoid revisiting settled matters, onboard newcomers, adapt to changing circumstances, and sharpen their thinking. However, there are several other valuable benefits that often go unnoticed.

A clear decision process

The most basic of these: having a clear decision process beats having none at all.

Objective evaluation

ADRs provide a framework to evaluate design choices objectively. Instead of getting caught in personal debates, we focus on documenting and analysing technical trade-offs together.

"Developers on the same project will often disagree about design options. The disagreements can often be resolved, or at least reduced from a boil to a simmer, by exposing the decision making process. If the disagreement is simply that one developer thinks option A is better, and another thinks option B is better, it is hard to choose. When the rationale for each is expressed using the template, it may be clear that A helps usability, while B helps testability. This does not immediately resolve the disagreement, since both usability and testability are desirable, but now the question is which quality is a higher priority for the project. It casts the problem as an engineering or requirements decision, not as a judgment about who is the better designer, and can help take egos out of the dispute." (George Fairbanks, Just Enough Software Architecture)

Grounding in reality

Through ADRs, engineering roles could become more invested in architectural decisions, while architect roles stay connected with practical implementation realities. This grounds architectural decisions in practical reality, bridging vision and practice.

Preventing paralysis

When teams can't trace why and by whom past decisions were made, decision paralysis could occur. ADRs overcome this by providing the documented context teams need to more confidently evolve their systems.

Efficiency

Capturing architectural decisions through ADRs requires minimal effort compared to the time and resources teams spend rediscovering or reconstructing the reasoning behind past choices. This investment in documentation prevents costly archaeological expeditions through old emails, meetings, and code.

"The cost of recording knowledge is small compared to the cost of acquiring knowledge." (Software Development Pearls, Karl Wiegers)

Further Reading

If you like to learn more about ADRs, here are some of my favorite online resources:

0
Subscribe to my newsletter

Read articles from Hans L'Hoest directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Hans L'Hoest
Hans L'Hoest

I write about: Software architecture and engineering, Better software better. DDD, Scala and Rust