Jaco van der Laan

From Discussion to Decision — How RFCs and ADRs Work Together in Practice

09/02/2026  ·  Data Architecture

‹ ›

Good architecture needs two things that often pull in opposite directions: space to think and stability to build.


From Discussion to Decision — How RFCs and ADRs Work Together in Practice

Good architecture needs two things that often pull in opposite directions:
space to think and stability to build.

  • When there is only space, architecture never settles.
  • When there is only stability, architecture hardens too early.

Over the past weeks, while writing about Architectural Decision Records (ADRs), several thoughtful responses highlighted the complementary role of Requests for Comments (RFCs) — especially in federated or mesh-inspired operating models.

That feedback reflects a pattern I’ve seen repeatedly in practice.

RFCs and ADRs are not competing tools. They solve different problems at different moments in the architectural lifecycle.

This article explains how they work best together — and why separating their roles leads to clearer decisions, better alignment, and more durable architecture.


Architecture needs both space and commitment

Before any architectural decision is made, uncertainty is unavoidable.

Different stakeholders bring:

  • Different constraints
  • Different priorities
  • Different risk perceptions

Trying to shortcut that uncertainty usually leads to fragile decisions that resurface later under pressure.

RFCs exist to create structured space :

  • Space to explore alternatives
  • Space to surface trade-offs
  • Space to challenge assumptions safely

ADRs exist to create commitment :

  • A clear decision
  • A shared rationale
  • A stable reference over time

Treating both as the same artifact blurs these responsibilities — and weakens both.


What RFCs are good at

An RFC is fundamentally an exploration tool.

Well-used RFCs:

  • Frame a problem clearly
  • Present multiple viable options
  • Make trade-offs explicit
  • Invite feedback across teams and domains

They are especially valuable when:

  • Impact spans multiple domains
  • Organizational alignment matters
  • The problem space is still evolving

RFCs help prevent premature decisions by making disagreement and uncertainty visible early , when they are still cheap to address.

What RFCs are not designed to do is to act as long-term architectural anchors. They are intentionally open-ended.


What ADRs are good at

ADRs begin where RFCs end.

An ADR records:

  • What was decided
  • Why this option was chosen
  • Under which context
  • What consequences follow

A good ADR is:

  • Short
  • Opinionated
  • Stable

Its purpose is not to reopen discussion, but to prevent rediscovery.

In MDDE, ADRs are deliberately lean. They avoid extensive implementation detail and instead point to executable artifacts — rules, generators, validation logic — that enforce the decision consistently.


The handover moment: RFC → ADR

The most important architectural moment is not writing an RFC or publishing an ADR.

It is the transition between them.

An RFC becomes an ADR when:

  • The discussion has converged
  • Alternatives have been evaluated
  • A decision must now be applied consistently

At that point:

  • Exploration gives way to commitment
  • Debate gives way to enforcement
  • Flexibility gives way to clarity

Without this handover, architecture oscillates endlessly.
With it, architecture becomes deliberate and repeatable.


Federated and mesh models: why this matters even more

In federated or mesh-inspired operating models, this separation is critical.

RFCs support:

  • Cross-domain input
  • Alignment without hierarchy
  • Shared understanding of impact

ADRs provide:

  • A single, stable outcome
  • A reference point across domains
  • A basis for validation and enforcement

Some organizations choose to include more implementation guidance directly in ADRs, often combined with a central validation authority. Others keep ADRs lean and reference executable standards instead.

Both approaches can work.

What matters is not the format — but clarity about when discussion ends and decisions begin.


How this fits into MDDE

In MDDE, the flow is explicit:

RFC
→ explore options and trade-offs

ADR
→ record the decision and rationale

Executable rules, generation, validation
→ enforce the decision consistently

This ensures:

  • Discussion is explicit
  • Decisions are durable
  • Enforcement is automatic

Architecture stops living only in documents and starts showing up in system behavior.


Practical templates

Minimal RFC outline

  • Problem statement
  • Context and constraints
  • Options considered
  • Trade-offs
  • Open questions

Minimal ADR outline

  • Context
  • Decision
  • Rationale
  • Consequences

Keeping both lightweight dramatically increases the chance they are actually used.


Architecture as a living conversation

RFCs and ADRs are not rivals.

They are different phases of the same architectural conversation.

RFCs ensure the right decision is made.
ADRs ensure the decision sticks.

Together, they create a healthy rhythm:

explore → decide → execute → observe

That rhythm is what allows architecture to scale across teams, domains, and time — without losing either flexibility or coherence.


What’s next

In upcoming articles, I’ll explore:

  • How ADRs evolve without erasing history
  • How executable rules reference decisions
  • When exceptions should trigger new RFCs
  • Governance patterns that avoid central bottlenecks

All focused on the same goal:

architecture that remains deliberate, explicit, and adaptable under continuous change.