Core Idea
Architecture decision criteria are the evaluation factors used to systematically choose an architecture style based on ranked architecture characteristics, business drivers, constraints, and trade-off analysis rather than trends or personal preference.
Architecture Decision Criteria
The Common Trap: Choosing architecture styles based on what’s popular or what you’ve used before leads to architectures that solve yesterday’s problems or someone else’s problems. Systematic criteria transform selection from art to engineering — making decisions defensible, repeatable, and aligned with business drivers.
Starting Point — Identify and Rank Architecture Characteristics:
- Identify characteristics from both explicit requirements (stated by stakeholders) and implicit needs (derived from domain and organizational context)
- Rank them deliberately:
- Tier-1: Must-have
- Tier-2: Important
- Tier-3: Nice-to-have
- Attempting to optimize for everything leads to analysis paralysis and least-worst compromises
Architecture Style Trade-offs: Each style excels at some characteristics and fails at others:
- Layered: excellent simplicity and low cost; poor scalability and elasticity
- Event-driven: excels at scalability and fault tolerance; introduces complexity and eventual consistency challenges
- Microservices: maximizes deployability and testability; increases operational complexity and network latency
Evaluation Framework: With ranked characteristics established:
- Which styles best support your tier-1 characteristics?
- For the top candidates, what trade-offs do you accept in tier-2 and tier-3 characteristics?
- This surfaces genuine costs and benefits rather than relying on intuition or marketing materials
Final Criterion — Business Alignment: The selected style must also fit organizational realities: team structure, deployment capabilities, operational maturity, budget, and timeline. An architecture that is theoretically optimal but incompatible with organizational capabilities will fail in practice.
Why This Matters
Without explicit criteria, architects choose styles based on familiarity or trends rather than business needs. Systematic criteria make decisions defensible, repeatable, and aligned with actual requirements.
Related Concepts
- Architecture-Characteristics-Categories — The operational, structural, and cross-cutting characteristics being evaluated
- Explicit-Architecture-Characteristics — Tier-1 characteristics stated by stakeholders
- Implicit-Architecture-Characteristics — Hidden characteristics derived from domain
- Architecture-Style-Selection-Framework — The systematic process using these criteria
- Trade-Offs-and-Least-Worst-Architecture — The fundamental reality of architecture decisions
- Architecturally-Significant-Decisions — Decisions that require this level of rigor
- Architecture-Decision-Records — Documentation capturing the criteria and rationale
Sources
- Richards, Mark and Neal Ford (2020). Fundamentals of Software Architecture: An Engineering Approach. O’Reilly Media. ISBN: 978-1-492-04345-4.
- Chapter 18: Choosing the Appropriate Architecture Style
- Available: https://www.oreilly.com/library/view/fundamentals-of-software/9781492043447/
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.