skip to content

Solution Options & Trade-offs

Generating a genuine set of options, comparing them against weighted criteria, stating constraints and assumptions, and recommending one with the rationale written down. Presenting a single option with no alternatives is the answer that loses points.

part ofSoftware design & architectureoverview, primer and where to startread it →
on this pageshow

questions

5

When architecting a solution for a business requirement, why is it considered bad practice to design and propose only a single technical option?

level: juniorimportance: must knowfreq 65%

answer

  1. baseline/recommended/bold options
  2. explicit vs implicit bias
  3. decision defensibility
  4. cost of comparison vs speed

basics

~10 s

Because comparing choices lets you see costs and risks you'd miss with just one idea, and it lets stakeholders make an informed pick instead of trusting a single opinion.

solid answer

~40 s

Presenting only one option hides the decision-making from stakeholders and from your own reasoning. Generating 2-4 credible options -- typically a 'safe/tactical,' a 'recommended,' and a 'bold/ideal' option -- forces you to make constraints and assumptions explicit, surfaces trade-offs you'd otherwise gloss over, and gives sponsors a real choice with visible costs. It also protects you: if the chosen option later causes pain, there's a documented record showing alternatives were considered and why they were rejected, rather than it looking like tunnel vision. Single-option proposals are also easier to unconsciously bias toward familiar tech. The cost is time -- evaluating three options takes longer than committing to your first idea -- so the option set should stay small and every option must be genuinely viable, not a straw-man next to your preferred pick.

go deeper

for a junior

Should understand the basic reason -- visibility and comparison -- and be able to sketch two alternative approaches to a simple problem (e.g., two ways to store session state) even if the comparison is informal.

for a middle

Expected to independently produce 2-3 real options for a feature-level decision, size them roughly, and articulate at least one non-obvious trade-off per option, not just cost.

for a senior

Owns the option-set framing for a whole initiative: decides how many options are worth producing given the decision's reversibility and stakes, and can defend the set against 'why isn't X on the list' pushback.

for a principal

Sets organizational norms for when option sets are required at all (e.g., via an ADR template or architecture review gate), and coaches teams away from straw-man option sets and toward genuinely contestable comparisons.

## What a solution option set is 'Solution options' in architecture work means deliberately producing a small set of **distinct, viable** ways to satisfy the same requirement -- typically two to four -- before committing to one. Each option in the set should be developed to comparable depth: - a rough component or integration diagram - the key technology choices - an effort/cost estimate - the risks it carries A common shape for the set is three options: | Option | Character | |---|---| | **'tactical'** or low-risk | minimal change, fastest to ship, often accepting some technical debt | | **'recommended'** | the architect's best balance of cost, risk, and value | | **'bold'** or **'ideal'** | the strongest long-term fit, usually at higher upfront cost or risk | This structure isn't mandatory, but it's a useful default because it forces you to think across a spread of risk appetites rather than anchoring on the first workable idea. ## Why the practice exists The reason this exists as a practice, rather than architects simply presenting their best judgment, is that a single option cannot be evaluated -- it can only be accepted or rejected wholesale, and rejecting it puts the burden of generating an alternative back on people less equipped to do so than the architect. Architects, like anyone, carry biases: - familiarity with a particular technology - resume-driven interest in something new - anchoring on how a similar problem was solved at a previous job - simple sunk cost from work already started An explicit option set converts what would otherwise be an implicit, unexaminable judgment call into something **inspectable**: stakeholders can see what was considered, what was ruled out, and why, and can contest the reasoning rather than just the conclusion. It also matters because many 'technical' decisions are really **business trade-offs in disguise** -- cost versus time-to-market, or build velocity versus long-term maintainability -- and those are judgment calls that non-technical stakeholders have a legitimate stake in, but only if the trade-off is made visible to them rather than buried inside a single technical recommendation. ## The cost, and where it earns its keep The cost of this practice is real and sits on the other side of the trade-off: producing two to four properly-sized options costs meaningfully more time than developing one, since each option needs enough depth to be genuinely comparable rather than hand-waved. - For a small, easily-reversible decision -- what Amazon calls a **'two-way door,'** like choosing between two internal helper libraries -- that cost isn't justified, and a single reasoned choice with a short rationale is the proportionate response. - The practice earns its keep specifically for **'one-way door'** decisions: expensive to reverse, affecting multiple teams, or committing the organization for years, such as choosing a primary datastore, an authentication provider other teams will integrate against, or the platform for a customer-facing product. ## How it fails In practice, this technique fails in a few predictable ways. 1. **Straw-manning** is the most common: presenting two or three options where only one was ever seriously considered, and the others are included as a formality, under-researched and clearly inferior, so the 'real' decision was made before the document existed. This is usually visible to careful reviewers because the preferred option has a diagram, sizing, and named risks, while the alternatives get a sentence each -- an imbalance that itself signals the comparison wasn't genuine. 2. **Option overload** is a second failure mode: presenting six or eight options that no reviewer can hold in their head at once, which usually means several are minor variations of each other rather than architecturally distinct, and signals the requirement itself may be underspecified. 3. **Analysis paralysis** is a third, where the org spends so long generating and re-generating options that the decision never actually gets made, and the market or the business moves on regardless. ## A worked scenario A concrete worked scenario: a product team needs to add search to an application. - **Option A** is to extend the existing Postgres database with trigram indexes for fuzzy text matching -- cheap, ships in days, but has a low ceiling on relevance ranking and scale. - **Option B** is standing up a dedicated Elasticsearch cluster -- the best relevance and scale characteristics, but adds a new piece of infrastructure to operate, a learning curve for the team, and ongoing cost. - **Option C** is a managed search-as-a-service product like Algolia -- fast to integrate with excellent out-of-the-box relevance, but recurring vendor cost and a new external dependency with data residency implications. Presenting all three, with their trade-offs made explicit, lets the team pick based on its actual constraints -- e.g., a small team with no dedicated infrastructure staff and moderate near-term scale might reasonably choose Option A now, with an explicit note that Option C becomes the fallback if relevance quality becomes a customer complaint, rather than silently locking in a choice nobody outside the original author can evaluate.

  • How many options should you typically present, and why not more?
    Two to four is the usual sweet spot: enough to show a real spread of trade-offs (cheap/tactical vs strategic vs ambitious) without overwhelming stakeholders who then can't hold the comparison in their head. Beyond four, most extra options are minor variations of ones already on the table, and the marginal analysis cost stops paying for itself. If you find yourself with six genuinely distinct options, that's usually a sign the requirement itself is underspecified.
  • What's wrong with including a deliberately weak option just to make your preferred choice look better?
    That's straw-manning, and it defeats the entire purpose of an option set because the comparison is no longer real -- it's decoration around a decision you'd already made. Reviewers eventually notice when one option is under-researched or sized unfairly, which damages trust in the whole document. Every option in the set needs to be a genuine, defensible way to solve the problem.
  • Does every decision need a formal multi-option comparison, even a small one?
    No -- for low-stakes, easily-reversible decisions ('two-way door' decisions), a single reasoned choice with a one-line rationale is proportionate. Formal option sets earn their cost for one-way-door decisions: expensive to reverse, cross-team impact, or long-lived architectural commitments.

It's like a realtor showing you exactly one house and saying 'buy this' -- you can't tell if it's a good deal until you've seen a couple of comparable listings with visible prices and trade-offs.

saying these in an interview costs you the question

  • Presents one design as if it were the only possible answer
  • Can't name what was rejected or why
  • Options differ only cosmetically, not architecturally
  • No mention of constraints that shaped the choice
  • Treats the exercise as pure box-ticking with no real comparison

context

open as a page

You're comparing three candidate solutions using a weighted decision matrix with criteria like cost, time-to-market, and scalability. Walk through how you'd build and use it, and name one way it commonly gets misused.

level: middleimportance: must knowfreq 75%

basics

~20 s

List the things that matter (like cost and speed), give each a weight for importance, score each option on each thing, multiply and add up the scores, and the highest total is the suggested winner -- but you still sanity-check it, because the weights themselves were a judgment call.

open as a page

You recommended Option B over Option A using a documented trade-off analysis, but six months later a director asks 'why didn't we just do Option A, it looked cheaper?' What should your original rationale document have contained so this question is easy to answer, and what's commonly missing from real-world rationale write-ups?

level: seniorimportance: must knowfreq 60%

basics

~20 s

A good rationale write-up explains what you compared, what mattered most and why, and what you'd have to see change to reconsider -- so months later anyone can read it and understand the decision without you having to remember or re-explain it from memory.

open as a page

When documenting solution options for a technical decision, you list both 'constraints' and 'assumptions' separately. What's the practical difference between the two, and why does conflating them cause problems later?

level: middleimportance: should knowfreq 55%

basics

~20 s

A constraint is a hard rule you can't change (like a budget cap or a law), while an assumption is a guess you're making that could turn out wrong (like expecting traffic to stay under a certain level). Mixing them up means nobody knows what's truly fixed versus what might need to be revisited.

open as a page

A weighted decision matrix comparing two solution options for a platform migration comes out nearly tied, and you suspect the losing side is quietly lobbying to change the weights to flip the result. As the architect accountable for the final recommendation, how do you handle both the near-tie and the political pressure?

level: principalimportance: should knowfreq 35%

basics

~20 s

Don't let people quietly change the scoring after the fact to get the answer they want. Instead, be upfront that the numbers are close, bring the real disagreement into the open, and make the final call based on judgment and the most important unscored risks -- then write down clearly why.

open as a page