What is ATAM (the Architecture Tradeoff Analysis Method), and what does running one actually produce?
answer
- scenario-based workshop, 9 steps, 2 phases
- utility tree → analyse top leaves
- risks / non-risks / sensitivity / trade-off points
- risk themes mapped to business drivers
- no score, no redesign; CBAM comes after
basics
~20 sATAM is a structured workshop where stakeholders write measurable quality scenarios, the architect explains how the design handles the top ones, and the group records risks, non-risks, sensitivity points and trade-off points — not a pass/fail score.
solid answer
~50 sATAM (Architecture Tradeoff Analysis Method, from the SEI) is a scenario-based evaluation run as a facilitated workshop, typically over two phases and a few days. Flow: present the method; the business owner presents business drivers; the architect presents the architecture; the group identifies the architectural approaches/patterns used; stakeholders build a utility tree of quality attribute scenarios prioritised by importance and difficulty; the team analyses the top scenarios against the approaches; then a wider stakeholder group brainstorms and votes on more scenarios, the high-voted ones are analysed, and results are presented. Outputs are a documented set of **risks**, **non-risks**, **sensitivity points** (a decision that strongly drives one attribute) and **trade-off points** (a decision that drives two attributes in opposite directions), plus **risk themes** linked back to business drivers. ATAM deliberately does not output a score or a redesign — it surfaces what leadership must decide or investigate.
go deeper
Say it's a structured stakeholder workshop that turns quality goals into measurable scenarios and produces a risk list, not a score.
Walk the step sequence and define all four output categories with an example of each.
Discuss facilitation reality: eliciting scenarios from ops/security, keeping the architect explaining rather than defending, rolling findings into risk themes with owners and dates.
Talk about when the ceremony is worth it versus a lightweight review, tying risk themes to business drivers and funding via CBAM, and institutionalising the outputs as ADRs, SLOs and fitness functions rather than a one-off report.
## What ATAM is **ATAM** = Architecture Tradeoff Analysis Method, developed at the Software Engineering Institute (Carnegie Mellon) in the late 1990s, successor to SAAM. It is a *review method*, not a tool or a notation: a facilitated workshop that examines an architecture against measurable quality goals, before large amounts of money are spent building on it. Key framing: an architecture is a set of **decisions**, each decision helps some quality attributes and hurts others, and the point of the review is to make those interactions visible and traceable to business goals. ## Participants (three groups) 1. **Evaluation team** — ideally outside the project: leader, facilitator, scenario scribe, proceedings scribe, questioner(s). 2. **Project decision makers** — project manager, business/product owner, chief architect — people who can commit to change. 3. **Architecture stakeholders** — developers, testers, ops/SRE, security, support, integrators, sometimes users. They are the source of the scenarios; they do not need authority to change anything. ## The nine steps, in two phases **Phase 1 (small group: evaluation team + decision makers)** 1. Present the ATAM — set expectations: no score, no redesign, findings only. 2. Present business drivers — the business owner states goals, constraints, and what "success" means. 3. Present the architecture — the architect walks the structures and the technical constraints at a level the room can follow. 4. Identify architectural approaches — name the patterns/tactics used (layering, publish–subscribe, replication, cache, bulkhead, circuit breaker, CQRS…) without analysing them yet. 5. Generate the quality attribute utility tree — root utility → quality attributes → refinements → concrete six-part scenarios; each leaf rated (importance, difficulty) as H/M/L. 6. Analyse architectural approaches — take the top-rated leaves and, scenario by scenario, ask the architect *how* the design satisfies it; record risks, non-risks, sensitivity points, trade-off points. **Phase 2 (wider stakeholder group)** 7. Brainstorm and prioritise scenarios — the larger group adds scenarios (especially growth and exploratory ones) and votes; the merged list is compared with the utility tree — a large mismatch is itself a finding about shared understanding. 8. Analyse architectural approaches again — same as step 6 on the newly top-voted scenarios. 9. Present results — findings grouped into **risk themes** and mapped back to the business drivers they endanger. Many organisations run it lighter (one day, internal facilitator); the step order is what carries the value, not the ceremony. ## The four output categories - **Risk** — a decision (or missing decision) that may prevent a scenario being met; phrased as decision → consequence → endangered goal. - **Non-risk** — a decision that is fine, *given stated assumptions*. Documenting it is valuable: it records the assumption, so when the assumption dies, the non-risk becomes a risk. - **Sensitivity point** — a parameter/decision where a small change swings one quality attribute a lot (e.g. replication factor drives availability). - **Trade-off point** — a decision that is a sensitivity point for two or more attributes pulling opposite ways (e.g. synchronous cross-region replication improves durability and worsens write latency). Trade-off points are the reason for the "T" in ATAM. These roll up into **risk themes** — recurring patterns such as "no operational visibility" or "single points of failure in the data tier" — each tied to a business driver, which is what makes leadership act. ## What ATAM is not - Not a certification, score, or gate with a number. - Not a design session — fixing is the project's job afterwards. - Not a code review — it examines decisions and their documented rationale. - Not free: it needs the architect prepared, real stakeholders present, and someone empowered in the room. ## Cost, timing, failure modes Best run when the architecture is settled enough to describe but before heavy implementation — late enough to be real, early enough to be changeable. Common failure modes: no measurable scenarios (review degenerates into opinion), no ops/security stakeholders (whole attribute classes unreviewed), the architect defending rather than explaining, findings recorded but never assigned an owner, and letting the meeting drift into solutioning so no risks get written down. **CBAM** (Cost Benefit Analysis Method) is the usual follow-on: it puts utility and cost on the candidate responses to ATAM risks so investment can be ranked.
- Why does ATAM analyse scenarios twice, in phase 1 and phase 2?Phase 1 captures what the decision makers and architect believe matters; phase 2 lets a broad stakeholder group brainstorm and vote independently. Comparing the two lists exposes blind spots — if ops or security raise top-voted scenarios absent from the utility tree, that gap is itself a major finding.
- When in a project should you run one?Once the architecture can be described but before it is expensively built out — typically after the key structural decisions and early in implementation. Too early and there's nothing to analyse; too late and findings are unaffordable to act on.
A pre-flight inspection, not a race result: nobody hands the aircraft a grade out of ten — they hand you a list of what could bite, what is fine and why, and which knobs are dangerously sensitive.
saying these in an interview costs you the question
- "ATAM gives the architecture a score / pass-fail rating"
- "The evaluation team redesigns the system during the workshop"
- Confusing a sensitivity point (drives one attribute) with a trade-off point (drives two in opposite directions)
- Skipping business drivers, so risks can't be tied to anything the business cares about
- Running it with only architects present — the scenario supply dries up
- Treating non-risks as noise instead of recorded assumptions that can later expire