14
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5 Marilee Wheaton Csci 510

Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

Embed Size (px)

DESCRIPTION

Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5. Marilee Wheaton Csci 510. Outline. COCOMO II Objective: Decision Support Example Company: UST, Inc. Auto Parts Frequent Software Decisions Investment; Business Case Analysis Setting Project Budgets and Schedules - PowerPoint PPT Presentation

Citation preview

Page 1: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Using COCOMO for Software Decisions

- from COCOMO II Book, Section 2.6, 6.5

Marilee Wheaton

Csci 510

Page 2: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

2

Outline• COCOMO II Objective: Decision Support• Example Company: UST, Inc. Auto Parts• Frequent Software Decisions

– Investment; Business Case Analysis– Setting Project Budgets and Schedules– Performing Tradeoff Analysis– Cost Risk Management– Development vs. Reuse– Legacy Software Phaseout– Software Process Improvement

• Software Organizational Decisions• Conclusions

Page 3: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

3

UST, Inc. Auto Parts Company

• Large manufacturing company– 200-person software organization

• Considering development of manufacturing control system (MCS)– 100 KSLOC; nominal drivers ratings; $8K/PM

• Scaling exponent

E=0.91+0.01(3.72+3.04+4.24+3.29+4.68)=1.10

• Estimated effort and cost

Effort=2.94*100^1.10 = 466 PM

Cost = 466 PM * $8K/PM = $3.728M

Page 4: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

4

UST, Inc. Auto Parts Company (Cont.)

• Plus Inception (6%) and Transition (12%) costs– Acquisition Cost = $3.728*1.18 = $4.4M

• Annual Maintenance CostAnnual Software Change = 100*(0.20) = 20KSLOC

Cost = 2.94*(20)^1.10*$8K=$635K

Page 5: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

5

MCS Business Case Analysis• MCS estimate to reduce manufacturing inventory 20%

– Enables more just-in-time arrival of suppliers components

• Current Manufacturing inventory valued at $80M• Inventory carrying costs average around 25%

– Inventory control, property taxes, capital costs, etc.

• MCS savings in reduced inventory carrying costs = ($80)*(0.25)*(0.2)=$4M/Year

• MCS savings subtracts software maintenance cost =$4M-0.635M=$3.365M

• 5-year-ROI=5* =$3.365M/$4.4M = 3.8– Well worth the investment

Page 6: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

6

Setting Project Budget and Schedules

• Schedule

TDEV=3.67*(PM)^[0.28+0.2*(E-0.91)] = 3.67*(466)^0.318 = 26 month

• Constructive phase schedule and effort (Table A.5)– Effort=0.76*(466)=354 PM;

Schedule=0.625*26=16.25 Month;– Staff Level = 354/16.25=28.8 people

• Staff needed for construction activities (Table A, 11)– Requirements = 21.8*0.08=1.7 people– Product Design =21.8*0.16=3.5 people

Page 7: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

7

Performing Tradeoff AnalysisMCS Life-cycle Costs vs. Reliability Level

RELY Rating Very Low

Low Nominal High Very High

Dev. Effort Mult. 0.82 0.92 1.0 1.10 1.26

Dev. Cost ($K) 3608 4048 4400 4940 5544

Maint. Effort Mult. 1.35 1.15 1.0 0.98 1.10

Maint. Cost (*2 for Nominal)

11,880 10,120 8,800 8,624 9,680

Life-cycle Cost 15,488 14,168 13,200 13,464 15,224

Page 8: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

8

Value-Based Tradeoff AnalysisCost of Downtime = $38*(Downtime)

RELY Rating Very Low

Low Nominal High Very High

Mean Time to Failure (hr)

1 10 300 10,000 300,000

Mean Time to Repair (hr)

1 1 1 1 1

Avail=

MTBF/(MTBF+MTTR)

.50 .90 .997 0.9999 0.999997

Downtime .50 .10 .003 0.0001 0.000003

Cost=$38*Downtime $1500M $300M $10M $0.3M $0.01M

SW Life-cycle Cost $15.5M $14.2M $13.2M $13.5M $15.2M

Ownership Cost $1515M $314M $23.2M $13.8M $15.2M

Page 9: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

9

Outline• COCOMO II Objective: Decision Support• Example Company: UST, Inc. Auto Parts• Frequent Software Decisions

– Investment; Business Case Analysis– Setting Project Budgets and Schedules– Performing Tradeoff Analysis– Cost Risk Management– Development vs. Reuse– Legacy Software Phaseout– Software Process Improvement

• Software Organizational Decisions• Conclusions

Page 10: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

10

Cost Risk Management• Risk reserve for requirement volatility

– Estimate as high as 15%– Resulting cost = 2.94*(100+15)^1.10*($8k)=$5130k– Risk reserve = $5130k – 4400k = $730k

• Risk reserve for less experienced personal– Average applications, Platform experience ½-level lower– Resulting cost = $4400k*(1.05)*(1.045)=$4828k– Risk reserve = $428k

Page 11: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

11

Development vs. Reuse• Possibility of reusing a 40 KSLOC component• Reuse parameters not a strong match

– % design modified DM=40– % code modified CM=50– % integration redone IM=100– Understanding penalty SU=50– SW unfamiliarity UMFM=1.0– Adaptation of assessment AA =5%

• Equivalent new lines of code =

40k*[(0.4*40+0.3*50+0.3*100)/100+(5+50*1.0)/100]

= 40k * (0.61 + 0.55) = 46.4KSLOC• Not a good decision to reuse

Page 12: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

12

Legacy Software Phaseout• Candidate: Corporate property accounting system

– 50K COBOL program; 20% annual charge (10K)– SU = 50: poorly structured, documented– UNFM = 0.7: few people familiar with code

• Equivalent annual maintenance size = 10KSLOC * [1 + (50*0.7)/100] = 13.5 KSLOC/year3 years: 40.5K SLOC

• Replacement could use MCS GUI, DBMS– Only 20 KSLOC of new software needed– SU = 25: better structured, documented– UNFM = 0.4: New developers familiar with the code

• Equivalent annual maintenance size =20KSLOC * [1+ (25*0.4)/100] = 4.4 KSLOC/year3 years + development = 3*4.4+20 = 33.2 KSLOC– Better to phase out and replace legacy SW

Page 13: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

13

Software Process Improvement• UST currently at Process maturity Level 2

– Planning & control, config. Management, guality assurance

• Cost to achieve level 3 (process group, training, product engr.)– Process group: (2yr)*(4 persons)*($96K/yr) = $768K– Training: (200 persons)*(3weeks)*($96K/Ω) = $1108K– Contingency = $124K; Total = 268+1108+124 = $2000K

• Benefit: scale exponent reduced by .0468-.0312=.0156,to 1.10 – 0.0156 = 1.0844– From 100^1.10 = 158.5 to 100^1.0844 = 147.5, or 7% less effort– Annual savings = (200 persons)*(96K/yr)(.07)=$1344K

• 5 year ROI = [5*$1344K-$2000K]/$2000K = 2.36– Again, well worth the investment

Page 14: Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

14

Conclusions

• COCOMO II is useful in many decision situations– Support objective discussion and negotiation

• Most analysis can be done with hand calculator– Simpler, easier to explain

• Usage builds shared understanding and trust