Become a member

Thursday, May 27, 2010

ATAM - Architecture Evaluation Method

ATAM(Architecture Tradeoff Analysis Method )  is one of the most common evaluation methods used in early stage of software development. Typically before signing off or apprving the architecture.

In the planning and preparation the evaluation team looks at the existing architecture documentation to identify questions or areas of incompleteness. If the documentation is deemed insufficient to express a sound understanding of the multiple structures of the architecture, the evaluation does not proceed to next step.

The ATAM method consists of the following nine steps:

1. Present the ATAM: The evaluation team presents a quick overview of the ATAM steps, the
techniques used, and the outputs from the process.
 2. Present the business drivers: The system manager briefly presents the business drivers and
 context for the architecture.
 3. Present the architecture: The architect presents an overview of the architecture.
 4. Identify architectural approaches: The evaluation team and the architect itemize the architectural
 approaches discovered in the previous step.

5. Generate the quality attribute utility tree: A small group of technically oriented stakeholders
identifies, prioritizes, and refines the most important quality attribute goals in a utility
tree format.
 6. Analyze the architectural approaches: The evaluation team probes the architectural approaches
in light of the quality attributes to identify risks, non-risks, and tradeoffs. To probe
the architecture, they use quality attribute questions. For example What properties in the runtime platform need to be tuned for the expected workload?
The architect should help define how many instances of http listeners, database connections,
server machines, and other architectural elements will be needed to meet the expected number
of requests.
7. Brainstorm and prioritize scenarios: A larger and more diverse group of stakeholders creates
scenarios that represent their various interests. Then the group votes to prioritize the
scenarios based on their relative importance.
8. Analyze architectural approaches: The evaluation team continues to identify risks, nonrisks,
and tradeoffs while noting the impact of each scenario on the architectural approaches.
9. Present results: The evaluation team recapitulates the ATAM steps, outputs, and recommendations.
  These steps are typically carried out in two phases. Phase 1 is architect-centric and concentrates
on eliciting and analyzing architectural information. This phase includes a small group of technically
oriented stakeholders concentrating on Steps 1 to 6. Phase 2 is stakeholder-centric, elicits
points of view from a more diverse group of stakeholders, and verifies the results of the first
phase. This phase involves a larger group of stakeholders, builds on the work of the first phase,
and focuses on Steps 7 through 9.
 
A final report of the ATAM results include a summary of the business drivers, the architectural
approaches, a utility tree, the analysis of each chosen scenario, and important conclusions. All
these results are recorded visually, so stakeholders can verify the correct identification of the results.
 
The following are some of the benefits of the ATAM process.

1. Promotes the gathering of precise quality requirements
2. Creates an early start at architecture documentation
3. Creates a documented basis for architectural decisions
4. Promotes identification of risks early in the life-cycle
5. Encourages increased communication among stakeholders.


I encourage doing couple of iterations of architecture development using this method as a criteria for evaluation and improvement in the architecture.

No comments: