How do you decide how much analysis an architectural decision deserves?
Show the full answer Hide the answer
What is being tested
Whether you calibrate deliberation to consequence, rather than applying the same process to everything.
The primary axis: reversibility
One-way doors — decisions that are expensive or impossible to undo — deserve deliberation proportionate to their cost:
- The primary data store and its data model.
- Tenancy and identity architecture.
- The shard key.
- A public API contract with external consumers.
- Anything creating a large data migration to reverse.
Two-way doors — reversible in days or weeks — deserve a quick decision and an experiment:
- Most library choices.
- Internal service boundaries in a monolith, where a compiler helps you move them.
- Deployment tooling.
- Anything behind an interface you control.
Spending three weeks deliberating a decision you could undo in a day is a common and expensive error. So is the reverse — a shard key chosen in an afternoon.
The secondary axis: cost of being wrong
Reversibility and consequence are not the same. A reversible decision with a large blast radius while it is wrong still deserves care. A one-way door with trivial consequence does not.
The third axis: is the uncertainty empirical?
If the question is "will this handle our write volume" or "does this library work with our data shapes", a two-day spike beats two weeks of argument. Most performance and integration questions are of this kind and are settled by measurement, not analysis.
The methods, and their limits
Scenario-based evaluation is the most useful for architectural options: define the quality attribute scenarios that matter and assess each option against them. Its output is the sensitivity and trade-off points — decisions that significantly affect one or several attributes — not a score.
Weighted scoring is useful for structuring a discussion and dangerous as an output. The weights are subjective and small changes flip the result. Use it to surface disagreement about weights, which is usually the real disagreement.
Beware false precision. 7.4 against 7.1 conveys certainty that does not exist. When options score within noise, that is the finding: they are equivalent on the stated criteria, so decide on something else — reversibility, team familiarity, or operational simplicity.
What good analysis produces
Not "option B wins" but:
"These three criteria are decisive; the others do not differentiate. Option B is better on two and worse on one. The one it is worse on matters if X becomes true, so we should monitor X."
That is inspectable, and it tells the next person when to revisit — which is the section most often missing from decision records.