Software Engineering Institute Carnegie Mellon

The Architecture Tradeoff Analysis Method (ATAM)

The SEI's Architecture Tradeoff Analysis Method® (ATAM®) is the leading method in the area of software architecture evaluation. An evaluation using the ATAM typically takes three to four days and gathers together a trained evaluation team, architects, and representatives of the architecture's various stakeholders. Proven benefits of the ATAM include

  • clarified quality attribute requirements
  • improved architecture documentation
  • documented basis for architectural decisions
  • identified risks early in the life-cycle
  • increased communication among stakeholders

The following diagram displays a conceptual flow of the ATAM.

Flow of the ATAM

Business drivers and the software architecture are elicited from project decision-makers. These are refined into scenarios and the architectural decisions made in support of each one. Analysis of scenarios and decisions results in identification of risks, non-risks, sensitivity points, and tradeoff points in the architecture. Risks are synthesized into a set of risk themes, showing how each one threatens a business driver.

The most important results are improved architectures. The output of an ATAM is an out-brief presentation and/or a written report that includes the major findings of the evaluation. These are typically:

  • the architectural styles identified
  • a "utility tree" - a hierarchic model of the driving architectural requirements
  • the set of scenarios generated and the subset that were mapped onto the architecture
  • a set of quality-attribute specific questions that were applied to the architecture and the responses to these questions
  • a set of identified risks
  • a set of identified non-risks

Additional Information

Read More:

Products and Services: Learn about ATAM and architecture evaluation and analysis related products and services.

Contact Information: For technical details about ATAM, contact Mark Klein.

Working with the SEI: Learn more about working with the SEI in software architecture.