Architecture Tradeoff Analysis Method
Encyclopedia
In software engineering
, architecture tradeoff analysis method (ATAM) is a risk-mitigation process used early in the software development life cycle.
ATAM was developed by the Software Engineering Institute
at the Carnegie Mellon University
. Its purpose is to help choose a suitable architecture for a software system by discovering trade-off
s and sensitivity points.
ATAM is most beneficial when done early in the software development life-cycle, when the cost of changing architectures is minimal.
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
, architecture tradeoff analysis method (ATAM) is a risk-mitigation process used early in the software development life cycle.
ATAM was developed by the Software Engineering Institute
Software Engineering Institute
The Carnegie Mellon Software Engineering Institute is a federally funded research and development center headquartered on the campus of Carnegie Mellon University in Pittsburgh, Pennsylvania, United States. SEI also has offices in Arlington, Virginia, and Frankfurt, Germany. The SEI operates...
at the Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
. Its purpose is to help choose a suitable architecture for a software system by discovering trade-off
Trade-off
A trade-off is a situation that involves losing one quality or aspect of something in return for gaining another quality or aspect...
s and sensitivity points.
ATAM is most beneficial when done early in the software development life-cycle, when the cost of changing architectures is minimal.
ATAM benefits
The following are some of the benefits of the ATAM process :- Promotes the gathering of precise quality requirements
- Creates an early start at architecture documentation
- Creates a documented basis for architectural decisions
- Promotes identification of risks early in the life-cycle
- Encourages increased communication among stakeholders
ATAM process
The ATAM process consists of gathering stakeholders together to analyze business drivers and from these drivers extract quality attributes that are used to create scenarios. These scenarios are then used in conjunction with architectural approaches and architectural decisions to create an analysis of trade-offs, sensitivity points, and risks (or non-risks). This analysis can be converted to risk themes and their impacts whereupon the process can be repeated.Steps of the ATAM process
- Present ATAM – Present the concept of ATAM to the stakeholders, and answer any questions about the process.
- Present business drivers – everyone in the process presents and evaluates the business drivers for the system in question.
- Present the architecture – the architect presents the high level architecture to the team, with an 'appropriate level of detail'
- Identify architectural approaches – different architectural approaches to the system are presented by the team, and discussed.
- Generate quality attribute utility tree – define the core business and technical requirements of the system, and map them to an appropriate architectural property. Present a scenario for this given requirement.
- Analyze architectural approaches – Analyze each scenario, rating them by priority. The architecture is then evaluated against each scenario.
- Brainstorm and prioritize scenarios – among the larger stakeholder group, present the current scenarios, and expand.
- Analyze architectural approaches – Perform step 6 again with the added knowledge of the larger stakeholder community.
- Present results – provide all documentation to the stakeholders.