Architecture Tradeoff Analysis :
This Method is a method used to evaluate the quality attributes(such as performance, availability, and security) of software architectures. ATAM is used to mitigate risks in software architectures in the early stages of the software development life cycle (SDLC).
Participants in ATAM :
The ATAM requires the participation of three groups as follows.
- The evaluation team –
The evaluation team consists of the members who are external to the project. This team consists of 3-5 members who play their specific roles in the team.
- Project decision-makers –
Project decision-makers have the power to speak for the development of the project and have the authority to mandate changes.
- Architecture stakeholders –
Any individual, team, or organization who has an interest in the realization of the architecture and is somehow related to the architecture is a stakeholder of that architecture. Stakeholders include users, maintainers, performance engineers, testers, integrators, developers.
Process of Architecture Tradeoff Analysis Method :
The ATAM process starts with bringing all the stakeholders to find business drivers like system goals, constraints, system functionality, and desired non-functional properties. Then from these drivers quality attributes and business scenarios are created. Then, in conjunction with architectural approaches and architectural designs, these scenarios are used to create an analysis of trade-offs, sensitivity points, and risks (or non-risks).
This analysis is then converted to the risk themes and their impacts from where the process can be repeated. With every analysis cycle, the process gradually proceeds from the more general to the more specific. The whole architecture will be fine-tuned and risk themes will be addressed by examining the questions that were discovered in the previous cycle.
Steps of ATAM Process :
There are nine steps in the ATAM process as follows.
- Present ATAM –
Present the concept of the process to all the stakeholders of the process and answer the questions asked by the participants. This step makes the participants familiar with the process.
- Present Business Drivers –
All the participants involved in the presentation are expected to present, understand, and evaluate the business drivers for the system.
- Present Architecture –
A brief overview of the architecture is presented by the architect with an appropriate level of detail, i.e. at least modules and C&C views are discussed.
- Identify Architectural Approaches –
The architect presents some specific architectural approaches to the team and then the proposed architecture is discussed.
- Generate Quality Attribute Utility Tree –
In this step, the core business and technical requirements of the system are defined and then mapped into an appropriate architectural property. Put all these parts of evaluations, designs, and requirement elicitation into a tree.
- Analyze architectural approaches –
Each and every scenario is compared and rated by priority, and then highly rated scenario is mapped onto the architecture.
- Brainstorm Scenarios –
The larger stakeholders group present and contribute current scenarios and their concerns.
- Analyze architectural approaches –
Step 6 is repeated again with added knowledge from larger stakeholders in step.
- Present results –
At the end of the evaluation, the team reviews the existing and newly discovered risks, non-risks, sensitivities, and tradeoffs. The team discusses whether any new risk themes have arisen. Then the team provides all the documentation to the stakeholders.
Phases of ATAM :
The ATAM consists of four phases as follows.
- Phase 0 –
Preparation, planning, stakeholder recruitment, and team formation takes place in this phase. Participants are evaluation team key project decision-makers.
- Phase 1 –
This phase consists of steps 1-6 of the evaluation process. Participants are evaluation team key project decision-makers. Its typical duration is 1 day followed by a hiatus of 2 to 3 weeks.
- Phase 2 –
This phase consists of steps 7-9 of the evaluation process. Participants are evaluation team key project decision-makers and stakeholders. The duration of this phase is 2 days.
- Phase 3 –
This phase is a follow-up phase. Report generation and delivery of the report is done in this phase. Any scope of improvement in the process is also looked upon. Participants are the Evaluation team and evaluation clients. Duration is 1 week.
Outputs of ATAM :
- A concise presentation of the architecture. The architecture is presented in one hour.
- Articulation of business goals. This helps the new participants in understanding the business goals.
- Prioritized quality attribute requirements expressed as quality attribute scenarios.
- A set of risks and non-risks as follows –
- A risk is defined as an architectural decision that may lead to undesirable consequences in light of quality attribute requirements.
- A non-risk is an architectural decision that may lead to undesirable consequences in light of quality attributes.
- A set of risk themes. This set helps the evaluation team to examine all the discovered risk themes that identify systematic weakness in the architecture, process, and team.
- Mapping of architectural decisions to quality requirements. For each quality attribute scenario examined during an ATAM, those architectural decisions that help to achieve it are determined and captured.