Cost Estimation with COCOMO II

Slides:



Advertisements
Similar presentations
Software Cost Estimation
Advertisements

COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
SW Economics & COCOMO II November 25, 2005 Jongmoon Baik, Ph.D. School of Engineering Information and Communications University.
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
CSCI COCOMO Tutorial1 CS “Tutorial” Presentation: Software Cost Estimation Tools – COCOMO II and COCOTS A Winsor Brown and Ye.
University of Southern California Center for Software Engineering CSE USC COSYSMO: Constructive Systems Engineering Cost Model Barry Boehm, USC CSE Annual.
COCOMO II 資管研一 張永昌. Agenda Overall Model Definition COCOMO II Models for the Software Marketplace Sectors COCOMO II Model Rationale and Elaboration Development.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
April 27, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #3 Tuesday, April 27, 2004.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 An Analysis of Changes in Productivity and COCOMO Cost.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Information System Economics Software Project Cost Estimation.
COCOMO-SCORM: Cost Estimation for SCORM Course Development
Estimation Why estimate? What to estimate? When to estimate?
University of Southern California Center for Systems and Software Engineering Cost Estimation with COCOMO II Barry Boehm CS 510, Fall 2015 v3: Slide 10.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry.
1 Advanced Information Systems Development (SD3043) Project Management: Effort and Cost Estimation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
University of Southern California Center for Systems and Software Engineering (c) USC CSSECSCI 577a 2010 COCOMO + COCOTS Tutorial1 577a 2010.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 Trends in Productivity and COCOMO Cost Drivers over the.
Estimation using COCOMO
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
CS223: Software Engineering
Alternative Software Size Measures for Cost Estimation
Chapter 23 – Project planning
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Metrics and Terms SLOC (source lines of code)
Cost Estimation with COCOMO II
Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS
COCOMO II Overview CSCI 510 Fall 2013 (c) USC CSSE.
COCOMO II Overview Barry Boehm CSCI 510 Fall 2011 (c) USC CSSE
COCOMO II Overview Barry Boehm CSCI (c) USC CSSE 2018/9/19.
COCOMO II Overview A Winsor Brown (especially from page 50 on)
Constructive Cost Model
Pongtip Aroonvatanaporn CSCI 577b Spring 2011 March 25, 2011
COCOMO II Overview Ray Madachy CSCI 510
Alternative Software Size Measures for Cost Estimation
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
SLOC and Size Reporting
Software cost estimation
Software Cost Estimation
Cost Estimation with COCOMO II
Software Systems Cost Estimation
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Cost Estimation with COCOMO II
Cost Estimation with COCOMO II
Software cost estimation
Cost Estimation with COCOMO II
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
COCOMO II Overview LiGuo Huang Computer Science and Engineering
Chapter 23 Software Cost Estimation
Cost Estimation with COCOMO II
Software cost estimation
Software cost estimation
COCOMO II: Airborne Radar System Example
Software Sizing and Costing
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Software cost estimation
COCOMO II Overview Marilee Wheaton CSCI 510.
COCOMO II: Airborne Radar System Example
Center for Software and Systems Engineering,
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Software cost estimation
Presentation transcript:

Cost Estimation with COCOMO II Barry Boehm CS 510, 577a, Fall 2014

Software Cost Estimation Methods Cost estimation: prediction of both the person-effort and elapsed time of a project Methods: Algorithmic Expert judgement Estimation by analogy Parkinsonian Best approach is a combination of methods compare and iterate estimates, reconcile differences COCOMO - the “COnstructive COst MOdel” COCOMO II is the update to Dr. Barry Boehm’s COCOMO 1981 COCOMO is the most widely used, thoroughly documented and calibrated cost model Price-to-win Top-down Bottom-up ©USC-CSSE

Software Estimation Accuracy 4x Effect of uncertainties over time 2x Relative Size Range x 0.5x VCR FCR DCR OCR 0.25x Feasibility Plans/Rqts. Design Develop and Test Phases and Milestones ©USC-CSSE

COCOMO Black Box Model COCOMO II product size estimate development, maintenance cost and schedule estimates product, process, platform, and personnel attributes COCOMO II reuse, maintenance, and increment parameters cost, schedule distribution by phase, activity, increment organizational project data recalibration to organizational data ©USC-CSSE

Relations to ICSM-Sw/MBASE*/RUP Anchor Point Milestones Application Compos. Inception Elaboration, Construction Transition IOC COCOMO II estimates SRR PDR Waterfall Rqts. System Devel. Prod. Des. Development Exploration, Valuation Foundations Development Transition OCR FCR DCR *MBASE: Model-Based (System) Architecting and Software Engineering ©USC-CSSE 5

COCOMO Effort Formulation # of cost drivers Effort (person-months) = A (Size)E P EMi i=1 Where: A is a constant derived from historical project data (currently A = 2.94 in COCOMOII.2000) Size is in KSLOC (thousand source lines of code), or converted from function points or object points E is an exponent for the diseconomy of scale dependent on five additive scale drivers according to b = .91 + .01*SSFi, where SFi is a weighting factor for ith scale driver EMi is the effort multiplier for the ith cost driver. The geometric product results in an overall effort adjustment factor to the nominal effort. Automated translation effects are not included ©USC-CSSE

Diseconomy of Scale Nonlinear relationship when exponent > 1 ©USC-CSSE

COCOMO Schedule Formulation Where: Schedule is the calendar time in months from the requirements baseline to acceptance C is a constant derived from historical project data (currently C = 3.67 in COCOMOII.2000) Effort is the estimated person-months excluding the SCED effort multiplier E is the exponent in the effort equation SCED% is the compression / expansion percentage in the SCED cost driver This is the COCOMOII.2000 calibration Formula can vary to reflect process models for reusable and COTS software, and the effects of application composition capabilities. Schedule (months) = C (Effort)(.33+0.2(E-1.01)) x SCED%/100 ©USC-CSSE

RUP/ICSM Phase Distributions see COCOMO II book for complete phase/activity distributions Phase Effort % Schedule % Inception 6 12.5 Elaboration 24 37.5 Construction 76 62.5 Transition 12 12.5 COCOMO Total 100 100 Project Total 118 125 ©USC-CSSE

COCOMO II Output Ranges COCOMO II provides one standard deviation optimistic and pessimistic estimates. Reflect sources of input uncertainties per funnel chart. Apply to effort or schedule for all of the stage models. Represent 80% confidence limits: below optimistic or pessimistic estimates 10% of the time. ©USC-CSSE

Reused and Modified Software Effort for adapted software (reused or modified) is not the same as for new software. Approach: convert adapted software into equivalent size of new software. ©USC-CSSE

Nonlinear Reuse Effects The reuse cost function does not go through the origin due to a cost of about 5% for assessing, selecting, and assimilating the reusable component. Small modifications generate disproportionately large costs primarily due the cost of understanding the software to be modified, and the relative cost of interface checking. ©USC-CSSE

COCOMO Reuse Model A nonlinear estimation model to convert adapted (reused or modified) software into equivalent size of new software: ©USC-CSSE

COCOMO Reuse Model cont’d ASLOC - Adapted Source Lines of Code ESLOC - Equivalent Source Lines of Code AAF - Adaptation Adjustment Factor DM - Percent Design Modified. The percentage of the adapted software's design which is modified in order to adapt it to the new objectives and environment. CM - Percent Code Modified. The percentage of the adapted software's code which is modified in order to adapt it to the new objectives and environment. IM - Percent of Integration Required for Modified Software. The percentage of effort required to integrate the adapted software into an overall product and to test the resulting product as compared to the normal amount of integration and test effort for software of comparable size. AA - Assessment and Assimilation effort needed to determine whether a fully-reused software module is appropriate to the application, and to integrate its description into the overall product description. See table. SU - Software Understanding. Effort increment as a percentage. Only used when code is modified (zero when DM=0 and CM=0). See table. UNFM - Unfamiliarity. The programmer's relative unfamiliarity with the software which is applied multiplicatively to the software understanding effort increment (0-1). ©USC-CSSE ©USC-CSSE 14

Assessment and Assimilation Increment (AA) ©USC-CSSE ©USC-CSSE 15

Software Understanding Increment (SU) Take the subjective average of the three categories. Do not use SU if the component is being used unmodified (DM=0 and CM =0). ©USC-CSSE

Programmer Unfamiliarity (UNFM) Only applies to modified software ©USC-CSSE

Cost Factors Significant factors of development cost: scale drivers are sources of exponential effort variation cost drivers are sources of linear effort variation product, platform, personnel and project attributes effort multipliers associated with cost driver ratings Defined to be as objective as possible Each factor is rated between very low and very high per rating guidelines relevant effort multipliers adjust the cost up or down May be difficult to quantify, but better than ignoring important project factors (e.g. b asic vs. intermediate accuracies) ©USC-CSSE

Scale Factors Precedentedness (PREC) Development Flexibility (FLEX) Degree to which system is new and past experience applies Development Flexibility (FLEX) Need to conform with specified requirements Architecture/Risk Resolution (RESL) Degree of design thoroughness and risk elimination Team Cohesion (TEAM) Need to synchronize stakeholders and minimize conflict Process Maturity (PMAT) SEI CMM process maturity rating ©USC-CSSE

Scale Factor Rating ©USC-CSSE

Cost Drivers Product Factors Platform Factors Personnel factors Reliability (RELY) Data (DATA) Complexity (CPLX) Reusability (RUSE) Documentation (DOCU) Platform Factors Time constraint (TIME) Storage constraint (STOR) Platform volatility (PVOL) Personnel factors Analyst capability (ACAP) Program capability (PCAP) Applications experience (APEX) Platform experience (PLEX) Language and tool experience (LTEX) Personnel continuity (PCON) Project Factors Software tools (TOOL) Multisite development (SITE) Required schedule (SCED) ©USC-CSSE 21

Product Factors Required Software Reliability (RELY) Measures the extent to which the software must perform its intended function over a period of time. Ask: what is the effect of a software failure ©USC-CSSE 22

Example Effort Multiplier Values for RELY 1.39 1.15 Very Low Low Nominal High Very High 1.0 Slight Inconvenience Low, Easily Recoverable Losses Moderate, Easily Recoverable Losses High Financial Loss Risk to Human Life 0.88 0.75 E.g. a highly reliable system costs 39% more than a nominally reliable system 1.39/1.0=1.39) or a highly reliable system costs 85% more than a very low reliability system (1.39/.75=1.85) ©USC-CSSE 23

Table 2.50 COCOMO II Scale Factors & Multipliers ©USC-CSSE

Example Table-Based Estimation Effort (person-months) = 2.94 (Size)E P Emi E is an exponent for the diseconomy of scale dependent on five additive scale drivers according to b = .91 + .01*SSFi, where SFi is a weighting factor for ith scale driver Example estimate: Size=30 KSLOC; RELY, CPLX = High; TOOL= High; All other scale factors and cost drivers = Nominal E = 0.91 + .01 (3.72+3.04+4.24+3.29+4.68) = 0.91 + .1897 = 1.0997 ~ 1.1 Emi = (1.10) * (1.17) * (0.90) = 1.1583 Size = 30 KSLOC Effort = 2.94 * 30 1.1 * 1.1583 = 143.55 person-months Can use this approach in homeworks, exams ©USC-CSSE

Using COCOMO II in CS 577 Begin with COCOMO II bottom-up team estimate Source lines of code (SLOC) Using adjustments to CS 577 below Focus on 577b Construction phase Cross-check with estimate Using Fast Function Point sizing Effort by activity, rough 577b milestone plan Adjust, try to reconcile both estimates ©USC-CSSE

COCOMO II Estimates for 577b Disregard COCOMO II (CII) schedule estimates Use COCOMO II effort estimates to determine how large a team needed for 12-week fixed schedule Assuming 12 hours/week of dedicated effort per person Assuming 10 of the 12 weeks fill COCOMO II Construction phase (72% of total effort estimate) Assuming 100 hours/person-month for COCOMO estimates For 577b Construction phase, these are equivalent: 1 577b team member effort = (10 weeks)(12 hours/week) = 120 hrs 1.67*[est'd COCOMO II person month] = (1.67)(100 hours)(0.72) = 120 hrs So, one 577b team member effort = 1.67 CII person mon's And 6 577b team members’ effort = 6*1.67 = 10 CII person mon's 5 on-campus students + 1 off-campus student Or, N/1.67 577b team members’ effort = N CII person ©USC-CSSE

510 Homework 3, Cost Estimation 30 points Use Table-Based COCOMO to analyze the relative costs of two team assignment options Due : Monday 09/15/2014 ©USC-CSSE