Tuesday evening Felix Bachmann of the SEI gave an information seminar on How to Effectively Evaluate Software Architecture and Identify Risk where he outlined and described 10 principles of architecture evaluation. Felix called out these principles:
The Yardstick Principles
Principle 1: Quality Attributes determine the architecture.
Principle 2: Business Goals determine quality attribute requirements.
Principle 3: Business Goals represent what’s important to its stakeholder communities.
Principle 4: Quality attributes requirements need to be specified with good measures.
The Understanding the Architecture Principles
Principle 5: To understand an architecture you must understand its quality attribute properties.
Principle 6: The most important quality attribute requirements determine the parts of the system to focus the analysis on.
Principle 7: The distribution of functionality in the architecture contributes to the quality attribute properties.
The Know How Principles
Principle 8: “Guilty until proven innocent.”
Principle 9: Proper analysis disallows assumptions. Only facts count.
The Ownership Principle
Principle 10: Evaluated organizations must own the evaluation results.
Felix conjectured that an architecture evaluation method to be effective must have mechanisms to implement these principles. Over the years we have heard at SATURN experiences with several variations of architecture evaluation methods based on the SEI Architecture Tradeoff Analysis Method. Lightweight Architecture Alternative Assessment Method that Jeromy Carriere put to use at Microsoft, The ATO-Lite (Architecture Trade-Off Lite) used at Raytheon by Jon Edmund Edwin W Lee and Charles G Kille to evaluate net centric systems architectures, and Wells Fargo’s Scenario Based Architecture Reviews are a few examples. Looking at architecture evaluation techniques as these and other ATAM variations from the perspective of these 10 principles is definitely an exercise worth spending time on.
-Ipek Ozkaya, SEI