Architect’s Calculator: The Simple Math That Kills Unnecessary Complexity

In software architecture, there’s an ongoing tension between preparing for future scenarios and maintaining simplicity. This post explores a structured approach to evaluating when architectural complexity is justified.
The Challenge of “What If” Scenarios #
Architecture discussions often include hypothetical scenarios such as:
- “What if our user base suddenly multiplies?”
- “What if our primary cloud provider experiences a major outage?”
- “What if security threats emerge that bypass our current measures?”
These scenarios can lead teams to implement complex solutions for problems that may never materialize.
A Probability Framework for Decision-Making #
One potential approach to evaluate these scenarios is using a basic probability assessment:
Risk Value = Probability of Occurrence × Potential ImpactWhere:
- Probability: Estimated likelihood of the scenario occurring (0-100%)
- Impact: The potential business/technical consequence if it happens (0-100%)
- Risk Value: The product gives you a weighted risk score (0-100%)
This value can be compared against an agreed-upon threshold (perhaps 75% or another value based on risk tolerance) to guide implementation decisions.
Examples of the Framework in Action #
Consider these common architectural dilemmas:
- Multi-cloud deployment strategy
- Probability: ~5% (major provider completely disappearing)
- Impact: ~90% (catastrophic if unprepared)
- Risk Value: ~4.5% Rather than immediately implementing multi-cloud architecture, maintaining clean infrastructure-as-code and documented migration processes might be more appropriate.
- Building for massive scale from day one
- Probability: 20% (context-dependent)
- Impact: 70% (significant disruption)
- Risk Value: 14% This suggests designing for moderate growth with clear extension points rather than implementing microservices prematurely.
- Database failure scenarios
- Probability: 80% (eventually all systems experience issues)
- Impact: 95% (potentially catastrophic)
- Risk Value: 76% This high score justifies implementing robust backup and recovery systems early.
Benefits of This Approach #
This framework helps:
- Make implicit reasoning explicit
- Balance preparation against unnecessary complexity
- Allocate engineering resources more effectively
- Document architectural decisions with clear rationale
Considerations for Implementation #
The framework could be adjusted based on:
- Project criticality
- Regulatory requirements
- Available resources
- Business context
Open Questions for the Community #
- How might we improve our probability and impact estimates?
- What additional factors should be considered beyond probability and impact?
- How should we handle scenarios with extremely low probability but catastrophic impact?
- What other approaches have proven effective for balancing preparedness and simplicity?
This is offered as one potential tool for the architectural decision-making toolkit, not a replacement for experience or context-specific considerations.
