Architectural Decision Records

Writing down the stuff we can't document in code.

Architectural Decision Records (ADRs)
center
Architectural Decision Records (ADRs)

Code doesn't say why

Architectural Decision Records (ADRs)

What goes into an ADR?

  • Summary
  • Context
  • Decision
  • Consequences
Architectural Decision Records (ADRs)

The important part

  • Summary
  • Context
  • Decision
  • Consequences
Architectural Decision Records (ADRs)

Summary

A title that we can use when talking about the decision

E.g. "Share no CSS with core Centralus"

Architectural Decision Records (ADRs)

Context

The facts which make the decision obvious

  • big picture goals
  • what you tried
  • constraints
  • opinions
  • instincts
Architectural Decision Records (ADRs)

Decision

One or two sentences that precisely state the decision.

Basically, it's the Summary with a few precise details

Architectural Decision Records (ADRs)

Consequences

  • Answers "so what?"
  • downsides
  • upsides
Architectural Decision Records (ADRs)

When We Use ADRs

  1. document the "why" for decisions we make together
  2. share the results of learning time research
Architectural Decision Records (ADRs)

Why We Use ADRs

  1. So we don't have to remember "why did we decide this?"
    • visitors or new team members ask "Why"
    • there is a reason
    • what was the reason?
    • if it's in an ADR, we don't have to remember, we just read
Architectural Decision Records (ADRs)

Why We Use ADRs

  1. So we don't have to remember "why did we decide this?"
  2. To clarify our thoughts
    • The exercise of writing an ADR helps us think clearly
    • It is a conversation facilitator for us to make decisions together
Architectural Decision Records (ADRs)

Why We Use ADRs

  1. So we don't have to remember "why did we decide this?"
  2. To clarify our thoughts
  3. To democratize decision-making
    • We want the freedom to do solo research in learning time
    • Often, that means ruling out alternatives
    • a "Pending" ADR is a nice way to communicate the back-story
    • it's intimidating to remember and explain the research verbally
      • sharing an ADR is less intimidating
Architectural Decision Records (ADRs)

ADR Bottom Line

  • More writing
  • Less remembering
  • Reduced cognitive load
Architectural Decision Records (ADRs)