Core Idea
The Architecture Style Selection Framework is a systematic six-step process for choosing an architecture style based on characteristics, business drivers, and trade-off analysis rather than trends or personal preferences.
What Is the Architecture Style Selection Framework?
The Architecture Style Selection Framework provides a disciplined approach to choosing an architectural style, forcing explicit analysis of business requirements translated into architectural characteristics rather than following trends or defaulting to familiar patterns.
Six Sequential Steps:
- Identify architecture characteristics: Both explicit characteristics stated by stakeholders and implicit characteristics inherent to the domain
- Rank characteristics by priority: Must-haves, important, and nice-to-have
- Evaluate candidate styles: Assess each candidate’s support for your top characteristics
- Identify best-fit styles: Typically two or three candidates that excel at your highest-priority characteristics
- Analyze trade-offs: Examine what you sacrifice in lower-priority characteristics for each candidate
- Choose the style: Select the style that offers the best overall trade-off profile for your specific priorities
Power of systematic approach:
- Prevents “architecture by committee”: Where decisions emerge from political compromise rather than technical analysis
- Prevents “architecture by resume-building”: Where architects choose styles to pad their CVs rather than serve business needs
- Acknowledges context-dependence: A layered architecture might be perfect for a simple CRUD application but catastrophic for a high-volume real-time trading platform
Why This Matters
Architecture style selection has profound long-term consequences. Once a system is built in a particular style, migrating to a different style requires significant investment. Systematic analysis of business drivers dramatically increases the probability of long-term success and creates a defensible decision when stakeholders question architectural choices.
Related Concepts
- Architecture-Characteristics-Categories
- Architecture-Characteristics-Extraction-Process
- Architecture-Decision-Criteria
- Trade-Offs-and-Least-Worst-Architecture
- Layered-Architecture-Style
- Microservices-Architecture-Style
- Event-Driven-Architecture-Style
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.