Core Idea

Most architecture decisions aren’t binary but rather exist on a spectrum between extremes. The appropriate position on the spectrum depends on the specific context and priorities of the project. Perfect solutions don’t exist; aim for the option that best serves current constraints—the “least worst architecture.”

The third law of software architecture, defined in “Fundamentals of Software Architecture” by Mark Richards & Neal Ford - “Most architecture decisions aren’t binary but rather exist on a spectrum between extremes.”

Spectrum Thinking: (nuance over binary choices). Most decisions involve degrees along a continuum rather than simple yes/no answers.

Context is key: The appropriate position on the spectrum depends on the specific context and priorities of the project. A decision that is right for one system might be wrong for another, which is why the “why” behind a decision is often more important than the “how.”

Least Worst Architecture: (pragmatic realism). Perfect solutions don’t exist; aim for the option that best serves current constraints—the one with the fewest trade-offs given your current situation.

Why This Matters in Practice

Architects who treat decisions as binary often force systems into ill-fitting extremes. For example:

  • Synchronous vs. asynchronous communication is not binary. Systems often combine both based on consistency and latency requirements per use case.
  • Monolith vs. microservices is not binary. Modular monoliths, service-based architectures, and micro-frontends exist between the extremes.
  • SQL vs. NoSQL is not binary. Polyglot persistence selects the appropriate data store for each domain.

The appropriate spectrum position depends on the specific trade-offs prioritized by the architecture characteristics (performance, scalability, consistency, cost) of the current system.

Sources

Note

This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.