Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Software Architecture Life-Cycle Integration

The Software Architecture Technology Initiative at the Carnegie Mellon Software Engineering Institute (SEI) has developed a number of architecture-centric methods currently in use, of which the SEI Architecture Tradeoff Analysis Method (ATAM) was the first. The SEI ATAM helps a system's stakeholder community understand the consequences of architectural decisions with respect to the system's quality attribute requirements and business goals. The ATAM is a method that helps stakeholders ask the right questions to discover potentially problematic architectural decisions. Discovered risks can then be made the focus of mitigation activities.

As we gained experience from conducting ATAM-based evaluations, we developed methods to extend earlier into the software development life cycle. The SEI Quality Attribute Workshop (QAW) provides a method for eliciting quality attribute requirements. The SEI Attribute-Driven Design (ADD) method provides an approach to defining a software architecture by basing the design process on the system's quality attribute requirements.

We have also developed complementary evaluation methods. SEI Active Reviews for Intermediate Designs (ARID) are based on the ATAM and active design reviews. The review concentrates on whether the design being proposed is suitable from the point of view of other parts of the architecture that must use it. The SEI Cost Benefit Analysis Method (CBAM) is a method for architecture-based economic analysis of software-intensive systems. It can be used to help the system's stakeholders choose architectural alternatives for enhancing the system during either the design or maintenance phases of the software development life cycle.

Although these methods share a common heritage, set of concepts, and activities, they have not been integrated explicitly with each other or integrated into an organization's architecture-based software development life cycle. However, integration of this kind is essential if organizations are to reap the total possible benefits of adopting an architecture-centric approach to software development. 

Software Architecture Training and Publications



Related Reading

Integrating the Quality Attribute Workshop (QAW) and the Attribute-Driven Design (ADD) Method
Robert L. Nord, William G. Wood, & Paul C. Clements

Integrating the Architecture Tradeoff Analysis Method (ATAM) with the Cost Benefit Analysis Method (CBAM)
Robert L. Nord, Mario R. Barbacci, Paul Clements, Rick Kazman, Mark Klein, Liam O'Brien, & James E. Tomayko

Integrating Software-Architecture-Centric Methods into Extreme Programming (XP)
Robert L. Nord, James E. Tomayko, & Rob Wojcik

Integrating Software Architecture-Centric Methods into the Rational Unified Process
Rick Kazman, Philippe Kruchten, Robert L. Nord, & James E. Tomayko

A Life Cycle View of Architecture Analysis and Design Methods
Rick Kazman, Robert L. Nord, & Mark Klein

Using Architecture-Centric Methods within Plan Driven and Agile Software Development Processes
Robert L. Nord