Skip to content

Decision Making

Architecture = ∑Decisions

Weighted Decision Matrix

Weight Alternative 1 Alternative 2 Alternative 3
Criteria 1 W1 E1-1 E2-1 E3-1
Criteria 2 W2 E1-2 E2-2 E3-2
... ... ... ... ...
Criteria N WN E1-N E2-N E3-N
Rating 1 Rating 2 Rating3

Rating = SUM( Evaluation * Weight)

Standard Criteria Catalogs

Open Source Software Library Selection:

  • Adequate Functionality for Requirements
  • Non-Invasive Programming Model (minimizing disruption to existing code)
  • Orthogonal API (No side effects)
  • Concise API
  • Documented API
  • Available Usage Examples
  • Clean Source Code
  • Long-Term Release Track Record
  • Permissive Open Source License

Software Application Selection:

  • Meets Functional Requirements
  • Long-Term Release Track Record
  • Clean Deployment Procedure
  • Documented Usage
  • Guaranteed Support
  • Cost

Software Architecture Evaluation:

  • Meets Functional Requirements
  • Meets Non-Functional Requirements
  • Adequate Technology Overhead
  • Single Dependency Direction
  • Distance to State of the Art ("modern")
  • Distance to Most Simple Approach ("adequate")
  • Distance to Mainstream Approach ("mainstream")
  • Good Documentation

Questions for New Solution

  1. What is the implementation cost of the new solution?
  2. What is the short-term value brought by the new solution after it goes live?
  3. Can this new solution completely replace the existing solution?
  4. What is the cost of fully replacing the existing solution?
  5. What is the long-term value brought by this new solution after a full replacement?
  6. If it cannot fully replace the existing solution and both solutions coexist, what is the incremental maintenance cost?

  1. Training Program IT Architect Module 1,2,3 | The education and training program of msg 

  2. 郭冬白的架构课