ATAM - Architecture Tradeoff Analysis Method
ATAM stands for Architecture Tradeoff Analysis Method
ATAM Method is designed by SEI (Software Engineering Institute)
Objective of ATAM Method is to assess
Why to use ATAM
If you are not using ATAM method (fromarly or informaly) --> It means you are not validating whether architecture decision is right for requirement or not. Following things can happen
Do you want to realize these mistake after architecture is built or before?
ATAM objective is to identify these factors in advance.
When to fix Architecture Issues
Do you want to execute on project. Then identify architecture issues and fix it. Many project get completed this way. But they are costly.
Instead use ATAM method. Use ATAM method immediately after architecture is defined. Determine the issues and ensure right decision are taken. If trade off are taken - all parties will be aware of trade-offs and consquences.
When to use ATAM
You should use ATAM method immediately after architecture is designed. You should have clear business requirement and a software architecture document.
IF business requirements are not clear, it means you do not know what to design for.
If business requirements are clear but software architecure document is not writtem - you do not know what to evaluate for.
What does ATAM discoverIn ATAM Method right questions are asked early in software design cycle:
Discover risks - Risk might create future problems in some quality attribute (mostly non functional aspect – maintainability, scalability, availability, performance…)
Discover non-risks - decisions that promote qualities that help realize business/mission goals
Discover sensitivity points - alternatives for which a slight change makes a significant difference in some quality attribute
Discover tradeoffs - decisions affecting more than one quality attribute (e.g. performance vs maintability )
The purpose of an ATAM is NOT to provide precise analysis of requirement or design. The objective of ATAM method is to discover risks created by architectural decisions.
ATAM Cost and Benefit
2 weeks of time for 6 – 8 senior member. Using ATAM method can delays start of project by 1-2 week.
Benefit - Immediate
Catch architectural errors before building software.
Benefit - long termYou will see lot of benefit in long run :
Project is more likely to get complete on time, within budget. Avoid rework, redesign
Ensure architecture is fit for important scenarios
Build requirement gathering, architecture, design competency in team
Roles in ATAM Team
You should assign a role to ATAM Team member. Primary there are business member and architecture member. In addition you should have a moderator.Moderator — Moderator job is to facilitate discussions, brainstorming, analysis
Scenario writing — Person writing scenario author utility tree, raw scenarios
Architecture decision — Person playing this role document architecture decision taken. Person also document trade off agreed and sensitivity points.
1. Present the ATAM
2. Present business drivers
3. Present architecture
Identify and Analyze.
4. Identify architectural approaches
5. Generate quality attribute utility tree
6. Analyze architectural approaches against import Attribute
Brainstorm and Validate Architecture Decision
7. Brainstorm and prioritize scenarios
8. Validate architectural approaches (continuation from step 6) Conclude
9. Present results
ATAM StepsIf you are using ATAM evaluation - you will go thru these steps
STEP 1Presents an overview of the ATAM including:
Purpose, expectations, utility tree generation, scenarios, risks, “non-risks”, sensitivity points and tradeoffs
The objective of this step is to educate about ATAM Method.
STEP 2Customer representative describes the business drivers including
Business context for the system, High-level functional requirements
High-level quality attribute requirements
Quality attributes most central to the system’s success
Objective of this step is educate everyone about key business drivers.
STEP 3Architect presents an overview of the architecture including: Layering
Important attribute and constraints such as an OS, hardware, tools
Other systems with which the system must interact
Objective of this method is to get familair with architecture decision made.
Many times bussiness owner/Customer does not want to get invove in architecture.  They treat this as "How" and business want to focus on "What".  It is important to realize that Business owner is getting familiar with architecture decision to ensure business requirements will be met.  Any trade off in architecture is taken in favor of those requirement that matter most to business user.
STEP 4Start to identify places in the architecture that are key for realizing quality attribute goals.
Identify any predominant architectural approaches.
Replication or SSIS
Serach or Navigation
Search or Database query
Adhoc Reports or Standard Reports
In this phase you focus on architecture apppraches that have impact on delivering requirement.  Using Search user can enter free form text and get input.  Using navigation user can only select from predefined option.  In Navigation system control the output.  In Search content control the output/
Step 5Identify Quality Attribute
Output: In this phase you produce a output that show prioritization of specific quality attribute requirements.
Step 6Evaluate architecture from Quality Attribute Perspective
In this phase valuation Team probes architectural approaches from the point of view of specific quality attributes to identify risks.
At this point there is - A set of concrete quality requirements + a set of architectural approaches => Size up how well suited they are to each other
Output of this phase
Step 7Brainstorm and Prioritize Scenario
The ATAM evaluation team ask the stakeholders to brainstorm:
Step 8Validate Architecture Decisions
In this Step you validate
If you have done most of things right, very little/no new information will be uncovered
Team should validate that architecture decisions are in favor of utility required by business. If not, then architecture decision need to be corrected.
Step 9Present the Results
The collected information from the ATAM exercise is presented back to the stakeholders
TradeoffsTradeoff point is a property that affects more than one attribute or sensitivity point.
Example of Tradeoff PointUpgrade cant be done during peak hours. It is trade-off between modifiability and reliability.
Storing the head queries increase the performance of frequently used queries, but impact freshness of result.
As time to market is more important, Configurable UI is postponed thereby reducing the ability to experiment.
In order to achieve the required level of performance to give result to user C++, Assembly language need to be used thereby reducing the portability, maintainability of this component.
Sensitivity PointSensitivity – A property of a component that is critical to success of system.
The number of simultaneous database clients will affect the number of transaction a database can process per second. This assignment is a sensitivity point for the performance.
Power of encryption (Security) sensitive to number of bits of the key
Frequency of crawl is sensitive to performance
Machine learning platform for recommendation can produce better result by increasing the sample size which need more nodes. Merging results from multiple nodes impact the accuracy of recommendation algorithm.
Recommendation works on old data. If data is > 7 days old, recommendation benefits starts reducing as data gets more stale
RisksHere are exampples of Risks :
The software is not maintainable. User interface and business logic change need code change and deployment. It limits the capability to do a/b testing.
Upgrade to software can’t be done during peak hours (11 AM-2PM PST) as all servers serving the traffic.
The decision to copy data to reporting at interval of 24 hours means reporting business will see report with 24 hours delay.
What is Non Risks
Here are examples of Non-RisksAs both Data center can take serve full traffic including peak hour, it means a failure/disaster in one DC can be handled.
For Targetting it is okay to use yesterday data instead of real time data.
10-Risks 11-Non-Risks 2-why-to-use-atam 3-What-does-ATAM-discover 4-ATAM-Cost-and-benefits 5-ATAM-roles 6-ATAM-Steps-Summary 7-ATAM-Steps 8-Tradeoffs 9-Sensitivity-Points