Architecture Decision Record (ADR) template thumbnail

SOFTWARE ENGINEERING TEMPLATE

Architecture Decision Record (ADR) Template

Structured record of an architecture decision: context, options evaluated, decision rationale, and consequences.

Use this template

What's inside

Field

Details

ADR Number

ADR-XXXX

Title

Short, descriptive title of the decision

Status

Proposed

Date Proposed

Date Decided

Deciders

Names of people who made or will make this decision

Consulted

People whose input was sought (RACI: Consulted)

Informed

People who need to know the outcome (RACI: Informed)

Context

Describe the situation that requires a decision. What is happening in the system, the team, or the business that forces us to choose? Include enough background that someone reading this ADR in two years — who was not in the room — can understand why this decision was needed.

Address:

  • What problem are we facing? What is broken, missing, or about to break?

  • What technical, organizational, or business constraints are in play?

  • What has changed since the last time we addressed this area (if applicable)?

  • What is the cost of not deciding? What happens if we do nothing?

Decision Drivers

List the criteria that matter most for this decision, in priority order. These are the factors the team will weigh when evaluating options. Being explicit about drivers prevents the discussion from going in circles.

Priority

Driver

Why It Matters

1

Most important criterion (e.g., operational complexity, latency, team expertise)

Explain why this driver outranks the others in this context

2

Second most important criterion

3

Third criterion

4

Fourth criterion (nice-to-have)

Options Considered

Describe each option honestly. A good ADR explores at least two real alternatives — if there is only one option, you are documenting an implementation, not a decision.

Option 1: [Name] (Chosen)

Describe what this option is and how it works at a high level.

Pros

Cons

Advantage of this approach

Disadvantage or risk of this approach

Another advantage

Another disadvantage

Effort estimate: Approximate implementation cost (t-shirt size, person-weeks, or sprint count).

Option 2: [Name]

Describe what this option is and how it works at a high level.

Pros

Cons

Advantage of this approach

Disadvantage or risk of this approach

Another advantage

Another disadvantage

Effort estimate:

Option 3: [Name] (Optional)

Include a third option if it was seriously considered. Delete this subsection if only two options were evaluated.

Pros

Cons

Comparison

Score each option against the decision drivers. This makes the trade-offs visible and the reasoning auditable.

Driver

Option 1

Option 2

Option 3

Driver 1 (highest priority)

Good

Poor

Driver 2

Good

Good

Driver 3

Acceptable

Good

Driver 4

Poor

Good

Effort

Medium

High

Decision

State the decision clearly, starting with "We will..." Be precise enough that someone can implement it without ambiguity.

We will [chosen option] because [primary justification]. This was chosen over [rejected option] because [key differentiator], despite [acknowledged trade-off].

Consequences

Be honest about what this decision means — the good, the bad, and the obligations it creates.

What becomes easier or better

  • Positive consequence of this decision

  • Another positive consequence

What becomes harder or worse

  • Negative consequence or new constraint this decision introduces

  • Technical debt or operational burden this creates

What we must now do

Decisions create obligations. List the follow-up work this decision requires:

  • Migration or implementation work that must happen

  • Documentation, runbooks, or monitoring that must be updated

  • Teams or systems that must be notified

Risks & Mitigation

What could go wrong with this decision, even if the implementation is flawless?

Risk

Likelihood

Impact

Mitigation

Describe a risk specific to the chosen option

Medium

High

How we will detect and respond to this risk

Low

Medium

Validation

How will we know this decision was the right one? Define the signals you will look for and when you will evaluate.

Signal

Expected Outcome

Evaluate By

What If Wrong

Metric, behavior, or milestone that confirms the decision is working

What you expect to see

What you will do if this signal is negative (revisit, pivot, new ADR)

Related Decisions

Link to ADRs that this decision depends on, supersedes, or is related to. This builds a navigable decision history.

ADR

Relationship

Notes

ADR-XXXX: Title

Supersedes / Depends on / Related to

Brief context on the relationship

Other Engineering templates