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 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 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. Integration of this kind is essential if organizations are to reap the total possible benefits of adopting an architecture-centric approach to software development.

We have already begun moving toward these goals. The integration of different methods and techniques with each other or with other development life cycles is beginning to be applied in some organizations. We will be addressing the topic of integration in a series of future reports. Investigating such potential combinations is part of a larger effort to understand how to

  • integrate the approaches
  • understand the appropriate fit with other architectural processes and technologies
  • connect with other business, management and/or acquisition processes that can help enforce software architecture practices throughout the life cycle

More Information

For technical details about architecture life-cycle integration, contact us using the link in the For more information box at the bottom of this page.

Software Architecture Training and Publications

Training

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

For more information

Contact Us

info@sei.cmu.edu

412-268-5800