ATAM-steps | How to do architecture tradeoff analysis

ATAM Steps


1. Present the ATAM
2. Present business drivers
3. Present architecture

Identify and Analyze.

4. Identify architectural approaches
5. Generate quality attribute utility tree
6. Analyze architectural approaches against import Attribute

Brainstorm and Validate Architecture Decision

7. Brainstorm and prioritize scenarios
8. Validate architectural approaches (continuation from step 6) Conclude
9. Present results

ATAM Steps

If you are using ATAM evaluation - you will go thru these steps


Presents an overview of the ATAM including:
Purpose, expectations, utility tree generation, scenarios, risks, “non-risks”, sensitivity points and tradeoffs

The objective of this step is to educate about ATAM Method.


Customer representative describes the business drivers including
Business context for the system, High-level functional requirements
High-level quality attribute requirements
Quality attributes most central to the system’s success

Objective of this step is educate everyone about key business drivers.


Architect presents an overview of the architecture including: Layering
Architecture patterns
Important attribute and constraints such as an OS, hardware, tools
Other systems with which the system must interact

Objective of this method is to get familair with architecture decision made.

Many times bussiness owner/Customer does not want to get invove in architecture.  They treat this as "How" and business want to focus on "What".  It is important to realize that Business owner is getting familiar with architecture decision to ensure business requirements will be met.  Any trade off in architecture is taken in favor of those requirement that matter most to business user.


Start to identify places in the architecture that are key for realizing quality attribute goals.
Identify any predominant architectural approaches.

Replication or SSIS
Serach or Navigation
Search or Database query

Adhoc Reports or Standard Reports

In this phase you focus on architecture apppraches that have impact on delivering requirement.  Using Search user can enter free form text and get input.  Using navigation user can only select from predefined option.  In Navigation system control the output.  In Search content control the output/

Step 5

Identify Quality Attribute
  • In this step you - dentify, prioritize, and refine the most important quality attribute goals by building a utility tree.A utility tree is a top-down vehicle for characterizing the “driving” attribute for a requirement.
  • Select the most important quality goals to be the high-level nodes (typically performance, modifiability, security, and availability).
  • Scenarios are the leaves of the utility tree.

Output: In this phase you produce a output that show prioritization of specific quality attribute requirements.

Step 6

Evaluate architecture from Quality Attribute Perspective
In this phase valuation Team probes architectural approaches from the point of view of specific quality attributes to identify risks.
  • Identify the architectural approaches that pertain to the highest priority quality attribute requirements
  • Generate quality-attribute specific questions for highest priority quality attribute requirement
  • Ask quality-attribute specific questions.
  • Identify and record risks and non-risks, sensitivity points and Tradeoffs.
Analyze Architecture Approaches
At this point there is - A set of concrete quality requirements + a set of architectural approaches => Size up how well suited they are to each other
Output of this phase
  • The architectural approaches or decisions relevant to each priority utility tree scenario
  • The analyst questions associated with each approach
  • The architect’s response to the questions
  • The risks, non-risks, sensitivity points and tradeoff points identified
At the end of this steps, the evaluation team should have a clear picture of the most important aspects of the entire architecture .


Step 7

Brainstorm and Prioritize Scenario
    In this phase you brainstorm and agree on priority of Scenarios
  • Priorituzation of scenarios represent stakeholders interests
  • Understand quality attribute requirements

The ATAM evaluation team ask the stakeholders to brainstorm:

  • Use Case Scenarios
  • Growth Scenarios
  • Exploratory Scenarios - Limits, dramatic new performance attributes
  • Many times functional requirements are collected but non functional requirements are ignored. The above helps to define non functional requirement in sufficient detail. These non functional aspect impact architecture decision.

Step 8

Validate Architecture Decisions
In this Step you validate
If you have done most of things right, very little/no new information will be uncovered
Team should validate that architecture decisions are in favor of utility required by business. If not, then architecture decision need to be corrected.

Step 9

Present the Results
The collected information from the ATAM exercise is presented back to the stakeholders
  • PPT Slides/Doc + Written Report
  • List of Prioritized Scenarios
  • Architectural approaches agreed
  • The Utility tree
  • Risk discovered, Non Risks
  • Sensitivity points and Tradeoff points

10-Risks    11-Non-Risks    2-why-to-use-atam    3-What-does-ATAM-discover    4-ATAM-Cost-and-benefits    5-ATAM-roles    6-ATAM-Steps-Summary    7-ATAM-Steps    8-Tradeoffs    9-Sensitivity-Points