search menu icon-carat-right cmu-wordmark

Attribute-Driven Design (ADD), Version 2.0

November 2006 Technical Report
Rob Wojcik, Felix Bachmann, Len Bass, Paul C. Clements, Paulo Merson, Robert Nord, William G. Wood

This report revises the steps of the Attribute-Driven Design (ADD) method and offers practical guidelines for carrying out each step.


Software Engineering Institute

CMU/SEI Report Number


DOI (Digital Object Identifier):


This report revises the Attribute-Driven Design (ADD) method that was developed by the Carnegie Mellon Software Engineering Institute. The motivation for revising ADD came from practitioners who use the method and want ADD to be easier to learn, understand, and apply.

The ADD method is an approach to defining a software architecture in which the design process is based on the software quality attribute requirements. ADD follows a recursive process that decomposes a system or system element by applying architectural tactics and patterns that satisfy its driving quality attribute requirements.  

This technical report revises the steps of ADD and offers practical guidelines for carrying out each step. In addition, important design decisions that should be considered at each step are provided.