ATAM

Details
Full Name

Architecture Tradeoff Analysis Method

Also known as

Architecture Evaluation, ATAM Review

Core Concepts:

Utility Tree

Hierarchical decomposition of system quality goals into concrete, prioritized quality attribute scenarios (e.g., Performance → Response Time → "Search results returned in < 1s under peak load")

Quality Attribute Scenarios

Testable, concrete expressions of quality requirements consisting of stimulus, source, environment, artifact, response, and response measure

Architectural Approaches

Design decisions and patterns (e.g., caching, replication, layering) used to achieve quality attributes

Sensitivity Points

Architectural decisions that significantly affect one specific quality attribute

Tradeoff Points

Architectural decisions that affect two or more quality attributes in conflicting ways — the core insight of ATAM

Risks and Non-risks

Identified architectural decisions that may (risks) or demonstrably will not (non-risks) lead to future problems

Nine-step process

Presentation of ATAM → presentation of business drivers → presentation of architecture → identification of architectural approaches → generation of utility tree → analysis of architectural approaches → brainstorming scenarios → analysis of scenarios → presentation of results

Key Proponents

Rick Kazman, Mark Klein, Paul Clements (SEI / Carnegie Mellon University)

When to Use:

  • Evaluating a software architecture before major investment in implementation

  • When multiple stakeholders have conflicting quality requirements (e.g., performance vs. security)

  • During architecture reviews of safety-critical or high-availability systems

  • When making buy-vs.-build decisions or selecting between competing architectural styles