How I Make Architecture Decisions Without Endless Meetings
by Eric Hanson, Backend Developer at Clean Systems Consulting
Architecture decisions don't need a calendar invite — they need a clear process, the right people, and a bias toward writing things down. Here's the framework I actually use.
How Architecture Discussions Usually Go Wrong
The typical pattern: someone raises an architectural concern in a meeting. The discussion goes broad quickly. Multiple people have strong opinions. No one wants to decide without more information. A follow-up meeting is scheduled. That meeting also goes broad. A third meeting produces a rough consensus that nobody writes down clearly. Three months later, two people on the team have different memories of what was decided.
The issue isn't that people are bad at meetings. It's that architecture discussions are inherently complex and meetings are a poor medium for complex decisions. They're real-time, they favor the most vocal, they lose nuance, and they produce no durable record.
Write the Decision Down Before the Meeting
The single change that improved architecture decisions most for me: whoever has the concern or the proposal writes it down first, before any discussion happens.
I use a lightweight structure: what's the context, what are the options we're considering, what are the tradeoffs of each, and what am I proposing? This is often called an Architecture Decision Record — the specific format matters less than the discipline of writing it down.
This document does several things:
- It forces the proposer to think more rigorously. Problems that seemed urgent often become less urgent or dissolve entirely when you have to articulate them precisely.
- It gives reviewers time to think before responding. Async review produces higher-quality feedback than real-time reaction.
- It creates a record. A year from now, someone can read why this decision was made, not just what was decided.
A written proposal is not a committee document. It has a clear author and a clear recommendation. Other people respond to it; they don't jointly produce it.
Async First, Meeting Only When Stuck
My default process for an architectural decision:
- Author writes the proposal document with their recommendation
- Relevant people review async and leave comments — questions, alternative perspectives, identified gaps
- Author updates the document based on feedback and either refines or confirms the recommendation
- If there's genuine disagreement that comments can't resolve, a focused meeting is called — with the document as the agenda
Most decisions don't need step four. Written discussion handles the majority of the back-and-forth, often better than a meeting would. The people who wouldn't speak up in a group will write a comment. The person who thinks of the key objection two hours after the meeting would have missed it; in async review, they can add it.
When step four is needed, the meeting is dramatically shorter and more productive because everyone arrives with the same context.
Be Clear About Who Decides
Ambiguous authority is the source of most endless architecture discussions. If it's unclear who has the final call, every voice gets equal weight regardless of relevance or expertise, and the discussion continues until there's rough consensus — which might never arrive, or arrives as a compromise nobody fully believes in.
Every significant decision should have an owner. Not a committee — a person. That person gathers input, considers it, and decides. They're accountable for the outcome.
This doesn't mean ignoring input or being autocratic. It means someone is responsible for reaching a conclusion. The proposal document establishes this: there's an author, the author makes a recommendation, and unless there's a clear override from someone with appropriate authority, the author's recommendation stands after the feedback period.
Time-Bounding the Discussion
Open-ended discussions attract indefinite scope. Someone always has one more concern, one more scenario to think through.
I put a decision window on every proposal: "I'll collect feedback until [date] and plan to finalize this by [date]." This creates useful urgency. People who have a meaningful concern will share it. People who are vaguely uncomfortable but can't articulate why will usually let it pass.
If feedback at the end of the window reveals a genuine problem I hadn't considered, I extend it. The point isn't to rush bad decisions — it's to prevent decisions from staying in perpetual review because the process has no endpoint.
Distinguishing Reversible from Irreversible
Not every architecture decision deserves the same process. The cost of making a reversible decision slowly is often higher than the cost of making it wrong.
A deployment configuration choice that can be rolled back in an hour? Decide fast. A schema design that will require a painful migration to change in six months? Slow down, think carefully, get more input.
I calibrate the rigor of the decision process to the reversibility of the decision. For reversible choices, I often decide unilaterally or with light consultation. For decisions with high lock-in, I apply the full written proposal process.
The question to ask before deciding how much process to apply: how expensive is it to be wrong about this?
Document What Was Decided and Why
After a decision is made, the proposal document becomes the decision record. I add a short "decision" section: what we're doing and the key reasons. I note any significant alternatives that were considered and why they were rejected.
This five-minute step pays back enormously. It's the thing that prevents "wait, I thought we agreed to X" conversations six months later. It's what lets a new team member understand the system's shape without hunting down the original discussion thread.
A good architecture decision is one you can explain clearly in writing — and if you can't explain it clearly, you haven't made it yet.