Introducing ATAM
Design choices are all about trade-offs. In many enterprises and for many projects, we usually aim to design and develop top-notch software but may end up with unexpected outcomes. These deviations from initial expectations could be due to shortcuts we were forced to take, budget restrictions, a permanent scope change, a lack of proper analysis, a lack of a well-thought-through architecture, and so on. All these reasons may lead to some design choices that in turn lead to trade-offs. Without a formal way of identifying these trade-offs, organizations lack the ability to make informed decisions or even to conduct root cause analysis (RCA) when problems occur in production.
An example of a shortcut could be that there is no budget left to fine-tune some security aspects, but in omitting this, you will potentially increase your exposure to malicious users. For an asset that deals with public data, this would be less risky than for an asset dealing with personally...