Problem
Major design choices are often made by individuals with limited visibility, and flaws are found late. Heavyweight review boards slow teams and are bypassed. Decisions are undocumented, so rationale is lost and revisited repeatedly.
Evaluate significant design decisions early through a lightweight, repeatable review that surfaces risks, alternatives, and tradeoffs.
Major design choices are often made by individuals with limited visibility, and flaws are found late. Heavyweight review boards slow teams and are bypassed. Decisions are undocumented, so rationale is lost and revisited repeatedly.
An architecture review is a structured conversation that tests a proposed design against quality attributes before it is expensive to change. The aim is better decisions, not approval rituals.
The framework should be proportionate. A tiered model works well: self-review with a checklist for small changes, peer review for medium ones, and a panel for changes that affect many teams or carry regulatory risk. Authors then spend review effort where it earns the most.
The author writes a design document covering context, goals and non-goals, the proposed design, alternatives considered, and risks. Reviewers evaluate it against a standard set of quality attributes: availability, scalability, security, operability, data consistency, cost, and evolvability. Scenario-based analysis, in the spirit of ATAM, asks how the design behaves under specific stress, such as a regional outage or tenfold traffic. Outcomes are recorded as decisions with status and a revisit trigger.
Rotate reviewers so knowledge spreads and no individual becomes a bottleneck, and publish accepted designs in a searchable index so teams can reuse prior reasoning before starting a new document.
Median time from submission to decision, share of eligible changes reviewed, post-launch incidents traced to unreviewed designs, number of decisions with revisit dates met, and author satisfaction from periodic surveys.
Collect qualitative feedback too. If authors regard reviews as a tax, adjust triggers and templates, because a process that teams avoid produces worse outcomes than none.
# ADR-023: Use a managed message broker for order events
Status: Accepted
Date: 2026-03-14
Context: Order events must be delivered to billing and shipping reliably.
Decision: Adopt a managed broker with at-least-once delivery and idempotent consumers.
Alternatives: Self-hosted broker; database outbox polling only.
Consequences: Lower operations burden; vendor dependency; consumers must dedupe.
Revisit: When monthly volume exceeds 200 million events.