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-offs and sensitivity points.
ATAM is most beneficial when done early the software development life-cycle when the cost of changing architectures is minimal.
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 use in conjunction with architectural approaches and architectural decisions to create an analysis of tradeoffs, sensitivity points, and risks (or non-risks). This analysis can be converted to risk themes and their impacts whereupon the process can be repeated.