CBAM

31

description

CBAM with steps and case study

Transcript of CBAM

Page 1: CBAM
Page 2: CBAM

CBAM (Cost Benefit Analysis Method)

Presented By Asim Shahzad MCS02121005

Page 3: CBAM

Agenda

CBAM, Cost Benefit Analysis Method.Decision Making Context.The Basics of CBAM.CBAM Steps.CBAM Outcomes and Strengths

Page 4: CBAM

Cost-Benefit Analysis Method (CBAM)CBAM an architecture for analyzing the costs,

benefits and schedule implications of architectural decisions.

ATAM (Architecture Trade-off Analysis Method) considered the design decisions with respect to architectural quality attributes like modifiability, performance, availability, usability, and so on.

CBAM is different from the former method, it add the costs (and implicit budgets or money) as quality attributes.

Page 5: CBAM

Cont..The biggest tradeoffs in large, complex

systems usually have to do with finance.How should an organization invest its

resources in a manner that will maximize its gains and minimize its risk?

“…perhaps more important than costs, are the benefits than an architecture decision may bring to an organization.”

CBAM provides an assessment of the technical and economic issues and architectural decisions

Page 6: CBAM

Decision-Making Context

The CBAM does not make decisions for the stakeholders. It simply aids in the documentation of the costs and benefits analysis.

The CBAM can aid the stakeholders in choosing architectural strategies based on their return on investment (ROI) – the ratio of benefit to cost.

Page 7: CBAM

Calculating ROIR (ROI) = (B (Benefit) / C (Cost))*100This can be used to determine the optimal

order for implementation the various strategies.

Investment= $2000Benefit = $500R (ROI)=(B(benefit)/C(cost))*100R(ROI)=($500/$2000)*100= 25%

Page 8: CBAM

Context of CBAM

Page 9: CBAM

The Basis for the CBAMVariations of Scenarios

a way to strongly express and represent specific quality attributes (performance, cost, trademark etc. )

Utility-Response Every incentive in a scenario provides some utility to

the stakeholders.Priorities of Scenarios

Different scenarios within a given system have different levels of importance to the stakeholders and hence different utilities.

To characterize the relative importance of each scenario, a weigh is assigned through a two-step voting exercise.

Page 10: CBAM

The Basis for the CBAM {2}Architectural Strategies

In order to move from the current utility attribute response level to the desired or even best-case level.Side Effects

Impact of the changes

Page 11: CBAM

The importance of Cost Modeling“How do I convince my boss to investing in

availability ?”Maintain high availability requires a high level of

redundancy(duplication) with a rollover capabilityThis takes time an personnelPersonnel cost money as do purchasing highly

available software and adapting it for particular needs

Cost models are imperfect for a wide variety of reasons, but they are the only tools available to constrain requirements.

Page 12: CBAM

The CBAM steps:

This section first describes the steps of the CBAM and then explores how to quantify uncertainty to aid in making decisions.

Page 13: CBAM

Iteration I: Establish an Initial RankingIn the first iteration of the CBAM, each step is executed to establish an initial ranking that will then be refined in the second iteration. These steps serve to reduce the size of the decision space, refine the scenarios, collect sufficient information for decision making, and establish an initial ranking of ASs.

Page 14: CBAM

Step 1:

Collate scenarios

Collate the scenarios elicited during the ATAM exercise, and allow stakeholders to contribute new ones. Prioritize these scenarios based on satisfying the business goals of the system and choose the top one-third for further study.

Page 15: CBAM

Step 2:Refine scenarios Refine the scenarios by focusing on their stimulus/response measures. Elicit the worst, current, desired, and best-case QA response level for each scenario.

Page 16: CBAM

Step 3:Prioritize scenariosAllocate 100 votes to each stakeholder and have them distribute the votes among the scenarios by considering the desired response value for each scenario. Total the votes and choose the top 50% of the scenarios for further analysis. Assign a weight of 1.0 to the highest rated scenario, and assign the other scenarios a weight relative to that scenario. This becomes the scenario weight that appears in the calculation of the overall benefit of an AS. Make a list of the QAs that concern the stakeholders

Page 17: CBAM

Step 4:Assign utility.

Determine the utility for each QA response level (worst-case, current, desired, or best-case) for all scenarios. The QAs of concern are the ones in the list generated in step

Page 18: CBAM

Step 5: Develop ASs for scenarios and determine their expected QA response levels.

Develop (or capture the already-developed) ASs that address the top 50% of the scenarios chosen in step 3, and determine the expected QA response levels that will result from implementing these ASs. Given that an AS may affect multiple scenarios, this calculation must be performed for each affected scenario.

Page 19: CBAM

Step 6: Determine the utility of the expected QA response level by interpolation.

Using the elicited utility values (that form a utility curve) determine the utility of the “expected” QA response level. We perform this calculation for each affected scenario.

Page 20: CBAM

Step 7: Calculate the total benefit obtained from an AS.

Subtract the utility value of the “current” level from the “expected” level and normalize it using the votes elicited in step 3. Sum the benefit of a particular AS across all scenarios and across all relevant QAs

Page 21: CBAM

Step 8Choose ASs based on ROI, subject to cost and schedule constraints.

Determine the cost and schedule implications of each AS. Calculate the ROI value for each remaining AS as a ratio of benefit to cost. Rank order the ASs according to their ROI values, and choose the top ones until the budget or schedule is exhausted.

Page 22: CBAM

Step 9:Confirm the results with intuition.

Of the chosen ASs, consider whether these seem to align with the organization’s business goals. If not, consider issues that may have been overlooked during the analysis. If significant issues exist, perform another iteration of these steps.

Page 23: CBAM

AS (Architecture strategies) QA (Quality Attribute)

Page 24: CBAM

Iteration II: Incorporating UncertaintyA more sophisticated and realistic version of the CBAM can be created by expanding on the steps enumerated above. Secondary information can be added about risk estimation and uncertainty and the allocation of development resources. Each category of secondary information may potentially affect the investment decisions under consideration. Therefore, the ways they augment the steps of the method must be considered carefully for correctness and for practicality

Page 25: CBAM

Iteration II: Incorporating Uncertainty(cont.…)Augmenting the Steps.The CBAM relies on stakeholder judgments for its valuations of software benefits and costs. But these judgments will naturally be uncertain, due to differences in beliefs and experiences. One way to think rigorously about the uncertainty of the results collected in Iteration I is to collect and consider the risks inherent in the estimates that have been made. To do this, some kind of risk assessment exercise must be performed. The risks typically fall into these four categories.

Page 26: CBAM

Cont.….1. Risks that affect the cost estimate of a

strategy under consideration2. Risks that affect a stimulus-response

characteristic or a utility estimate of a strategy in the context of a scenario.

3. Risks that affect stimulus-response characteristics of other scenarios or QAs not previously considered. These risks pertain to the side effects (rather than the intended effects) of an AS.

Page 27: CBAM

Cont.….

4. Risks that are related to project management and schedule

Page 28: CBAM

CBAM Outcomes and Strengths

solving a problem in theory is very different from solving one in practice.

The method provides values as a basis for a rational decision making process in applying certain architectural strategiesThe method provides a business measure that can determine the level of return on investment of a particular change to the system.

Page 29: CBAM

Cont.…The method will help organizations in

analyzing and pre-evaluating the resource investment in different directions by adopting those architectural strategies that are maximizing the gains and minimize the risks.

CBAM tells us that giving people the appropriate tools to frame and structure their decision-making process in relation to costs and benefits and encouraging the right kind of dialogue among the stakeholders are beneficial to the development of the soft-ware system.

Page 30: CBAM

Questions??

Page 31: CBAM