1 / 14

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using COCOMO for Software Decisions- from COCOMO II Book, Section 2.6, 6.5 Marilee Wheaton Csci 510

  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=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

  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 • 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

  7. Performing Tradeoff AnalysisMCS Life-cycle Costs vs. Reliability Level

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

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

  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/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: New developers familiar with the code • Equivalent annual maintenance size = 20KSLOC * [1+ (25*0.4)/100] = 4.4 KSLOC/year 3 years + development = 3*4.4+20 = 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, 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

  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

More Related