Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using COCOMO for Software Decisions - from COCOMO II Book, Section 2

Similar presentations


Presentation on theme: "Using COCOMO for Software Decisions - from COCOMO II Book, Section 2"— Presentation transcript:

1 Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
LiGuo Huang Computer Science and Engineering Southern Methodist University

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

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= ( )=1.10 Estimated effort and cost Effort=2.94*100^1.10 = 466 PM Cost = 466 PM * $8K/PM = $3.728M

4 UST, Inc. Auto Parts Company (Cont.)
Plus Inception (6%) and Transition (12%) costs Acquisition Cost = $3.728*1.18 = $4.4M Annual Maintenance Cost Annual Software Change = 100*(0.20) = 20KSLOC Cost = 2.94*(20)^1.10*$8K=$635K

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

6 Setting Project Budget and Schedules
TDEV=3.67*(PM)^[ *(E-0.91)] = 3.67*(466)^0.318 = 26 months Constructive phase effort and schedule (Table A.5) Effort=0.76*(466)=354 PM; Schedule=0.625*26=16.25 Months; Staff Level = 354/16.25=21.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

7 Performing Tradeoff Analysis MCS 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) 3,608 4,048 4,400 4,840 5,544 Maint. Effort Mult. 1.35 1.15 0.98 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

8 Value-Based Tradeoff Analysis Cost 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) Availability =MTBF/(MTBF+MTTR) .50 .90 .997 0.9999 Downtime .10 .003 0.0001 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

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

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

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 * ( ) = 46.4KSLOC Not a good decision to reuse

12 Legacy Software Phaseout
Candidate: Corporate property accounting system 50K COBOL program; 20% annual change (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/year 3 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: reduced degree of unfamilarity 20KSLOC * [1+ (25*0.4)/100] = 4.4 KSLOC/year 3 years + development = 3* = 33.2 KSLOC Better to phase out and replace legacy SW

13 Software Process Improvement
UST currently at Process maturity Level 2 Planning & control, config. Management, quality assurance Cost to achieve level 3 (process group, training, product engr.) Process group: (2yr)*(4 persons)*($96K/yr) = $768K Training: (200 persons)*(3weeks)*($96K/yr) = $1108K Contingency = $124K; Total = = $2000K Benefit: scale exponent reduced by =.0156, to 1.10 – = From 100^1.10 = to 100^ = 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

14 Conclusions COCOMO II is useful in many decision situations
Support objective discussion and negotiation Most analysis can be done with hard calculator Simpler, easier to explain Usage builds shared understanding and trust


Download ppt "Using COCOMO for Software Decisions - from COCOMO II Book, Section 2"

Similar presentations


Ads by Google