Attribute-driven design

Attribute-driven design[1][2] (also called ADD or Attribute-driven design method) is a methodology to create software architectures that takes into account the quality attributes of the software.

It was previously known as the Architecture Based Design Method (or ABD), but due to trademark issues the name was changed to Attribute-driven design around 2001.

[3] In the book Software architecture in practice[4] the authors describe ADD as an iterative method that, at each iteration, helps the architect to do the following steps: ADD can only be started successfully when the following resources are already available: Of course, we cannot wait until all these requirements are finalized since this can take a while.

The ADD process can start once a set of ASRs (architecturally significant requirements, which are the three resources listed above) are available.

In recent years, ADD has been updated substantially to include platform-specific design, e.g. technology and framework choices via design concept catalogs, and to emphasize the making and documentation of architectural decisions.