Software Engineering Institute Carnegie Mellon

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

Additional Information

Read More:

Presentation: Using Architecture-Centric Methods within Plan Driven and Agile Software Development Processes, Robert L. Nord, Seventeenth Annual Systems and Software Technology Conference (SSTC 2005), 18-21 April 2005.

Contact Information: For technical details about architecture life-cycle integration, contact Robert L. Nord.

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