COCOMO for Cost Estimation

download COCOMO for Cost Estimation

of 26

Transcript of COCOMO for Cost Estimation

  • 8/10/2019 COCOMO for Cost Estimation

    1/26

    COCOMO for Cost Estimation

  • 8/10/2019 COCOMO for Cost Estimation

    2/26

    The Standish Group Example

    The Standish Groups reports on projectmanagement chaos contain some of the mostrespected statistics about software project failures.According to the Standish group, the average projectexceeds its budget by 90%, and its schedule by 120%.Furthermore, over 30% of projects are cancelledbefore completion. In the United States alone, thisrepresents about $100 billion in wasted money per

    year. (http://www.standishgroup.com)

    http://www.standishgroup.com/http://www.standishgroup.com/
  • 8/10/2019 COCOMO for Cost Estimation

    3/26

    General

    Accurately forecasting how much time and

    effort it will take to develop a system, or to

    take a specific set of changes is one of the

    biggest challenges in SE.

    Although a lot of projects underestimated the

    cost they needed, cost estimation is still

    necessary for a new project.

  • 8/10/2019 COCOMO for Cost Estimation

    4/26

    Types of Cost

    Time: The difference in time from the start

    date to the end date of a project. This is

    called elapsed time.

    Effort: Also called development effort. This is

    the amount of labor needed for a project.

    Effort is expressed inperson-monthsmostly.

  • 8/10/2019 COCOMO for Cost Estimation

    5/26

    From Effort to Money

    1. Find the average salaryin the company.

    2. Calculate the weighted average costbymultiplying the average salary by a weight,

    determined from the expenses onemployees (the number is usually between 2and 3).

    3. Cost of the project = effort * weightedaverage cost

  • 8/10/2019 COCOMO for Cost Estimation

    6/26

    COCOMO

    Constructive Cost Model (COCOMO) proposed

    by Barry Boehm.

    It is a cost estimation model that considers the

    complexity of a project:

    Organic

    Semidetached

    embedded

  • 8/10/2019 COCOMO for Cost Estimation

    7/26

    Organic

    In the organic mode, relatively small software teamsdevelop software in a highly familiar, in-houseenvironment. Most people connected with theproject have extensive experience in working withrelated systems within the organization, and have athorough understanding of how the system underdevelopment will contribute to the organizationsobjectives. Very few organic-mode projects have

    developed products with more than 50 thousanddelivered source instructions (KDSI).

  • 8/10/2019 COCOMO for Cost Estimation

    8/26

    Semidetached

    The semidetached mode of software developmentrepresents an intermediate stage between theorganic and embedded modes. "Intermediate"may mean either of two things:

    1.An intermediate level of project characteristic.

    2.A mixture of the organic and embedded modecharacteristics.

    The size range of a semidetached modeproduct generally extends up to 300 KDSI.

  • 8/10/2019 COCOMO for Cost Estimation

    9/26

    Embedded

    The major distinguishing factor of anembedded-mode software project is a need tooperate within tight constraints. The product

    must operate within (is embedded in) astrongly coupled complex of hardware,software, regulations, and operationalprocedures, such as an electronic funds

    transfer system or an air traffic control system.

  • 8/10/2019 COCOMO for Cost Estimation

    10/26

    Basic COCOMO

    Basic COCOMO model estimates the software

    development effort using only a single

    predicator variable (size in DSI) and three

    software development modes.

    Development Mode Effort Equation Schedule Equation

    Organic E=2.4*(KDSI)^1.05 TDEV=2.5*(E)^0.38

    Semidetached E=3.0*(KDSI)^1.12 TDEV=2.5*(E)^0.35

    Embedded E=3.6*(KDSI)^1.20 TDEV=2.5*(E)^0.32

  • 8/10/2019 COCOMO for Cost Estimation

    11/26

    Basic COCOMO

    Basic COCOMO is good for quick, early, rough

    order of magnitude estimates of software

    costs, but its accuracy is necessarily limited

    because of its lack of factors which have asignificant influence on software costs.

  • 8/10/2019 COCOMO for Cost Estimation

    12/26

    An Example

    Project A is to be a 32,000 DSI semi-detached

    software. Then we can estimate:

    Effort = 3.0*(32)^1.12 = 146 person months

    Productivity = 32,000 DSI/ 146 PM = 219 DSI/PM

    Schedule = 2.5*(146)^0.35 = 14 months

    Average staffing = 146 pm/ 14 months = 10

    Persons

  • 8/10/2019 COCOMO for Cost Estimation

    13/26

    Intermediate COCOMO

    The Intermediate COCOMO estimates the softwaredevelopment effort by using 15 cost driver variablesbesides the side variable used in Basic COCOMO.

    The Intermediate COCOMO can be applied across theentire software product for easily and roughly costestimation during the early stage, or be applied atthe software product component level for moreaccurate cost estimation in more detailed stages.

  • 8/10/2019 COCOMO for Cost Estimation

    14/26

    Intermediate COCOMO

    The Intermediate COCOMO uses an Effort

    Adjustment Factor (EAF) and slightly different

    coefficients for the effort equations than the

    Basic COCOMO.

    The EAF is simply the product of the Effort

    Multipliers corresponding to each of the cost

    drives for the target product.

  • 8/10/2019 COCOMO for Cost Estimation

    15/26

    Intermediate COCOMO

    Development Mode Effort Equation Schedule Equation

    Organic E=EAF*3.2*(KDSI)^1.05 TDEV=2.5*(E)^0.38

    Semidetached E=EAF*3.0*(KDSI)^1.12 TDEV=2.5*(E)^0.35

    Embedded E=EAF*2.8*(KDSI)^1.20 TDEV=2.5*(E)^0.32

  • 8/10/2019 COCOMO for Cost Estimation

    16/26

    EAF Features

    Product attributes

    Required software reliability(RELY)The extent to

    which the software product must perform its intended

    functions satisfactorily over a period of time.

    Database size(DATA)The degree of the total amount

    of data to be assembled for the database.

    Product complexity(CPLX)The level of complexity of

    the product to be develop.

  • 8/10/2019 COCOMO for Cost Estimation

    17/26

    EAF Features

    Computer attributes

    Execution time constraint(TIME)The degree of the execution

    constraint imposed upon a software product.

    Main storage constraint(STOR)The degree of main storage

    constraint imposed upon a software product. Virtual machine volatility(VIRT)The level of the virtual machine

    underlying the product to be developed.

    Computer turnaround time(TURN)The level of computer

    response time experienced by the project team developing the

    product.

  • 8/10/2019 COCOMO for Cost Estimation

    18/26

    EAF Features

    Personal attributes

    Analyst capability(ACAP)The level of capability of the analystsworking on a software product.

    Applications experience(AEXP)The level of applicationsexperience of the project team developing the software product.

    Programmer capability(PCAP)The level of capability of theprogrammers working on the software product.

    Virtual machine experience(VEXP)The level of virtual machineexperience of the project team developing the product.

    Programming language experience(LEXP)The level of

    programming language experience of the project team developingthe product.

  • 8/10/2019 COCOMO for Cost Estimation

    19/26

    EAF Features

    Project attributes

    Use of modern programming practices(MODP)The

    degree to which modern programming practices are

    used in developing software product.

    Use of software tools(TOOL)The degree to which

    software tools are used in developing the software

    product.

    Required development schedule(SCED)The level of

    schedule constraint imposed upon the project team

    developing the software product.

  • 8/10/2019 COCOMO for Cost Estimation

    20/26

    EAF Rating

    Cost Dr ivers Very Low Low Nominal H igh Very H igh Extr a H igh

    RELY 0.75 0.88 1.00 1.15 1.40

    DATA 0.94 1.00 1.08 1.16

    CPLX 0.70 0.85 1.00 1.15 1.30 1.65

    TIME 1.00 1.11 1.30 1.66

    STOR 1.00 1.06 1.21 1.56

    VIRT 0.87 1.00 1.15 1.30

    TURN 0.87 1.00 1.07 1.15

    ACAP 1.46 1.19 1.00 0.86 0.71

    AEXP 1.29 1.13 1.00 0.91 0.82

    PCAP 1.42 1.17 1.00 0.86 0.70

    VEXP 1.21 1.10 1.00 0.90

    LEXP 1.14 1.07 1.00 0.95

    MODP 1.24 1.10 1.00 0.91 0.82

    TOOL 1.24 1.10 1.00 0.91 0.83

    SCED 1.23 1.08 1.00 1.04 1.10

  • 8/10/2019 COCOMO for Cost Estimation

    21/26

    An Example

    Project B is in embedded mode and estimated to be10,000 delivered source instructions in length. ItsEAF is as:

    Cost Drivers

    RELY 1.15

    DATA 0.94

    CPLX 1.30

    TIME 1.11

    STOR 1.06

    VIRT 1.00

    TURN 1.00

    ACAP 0.86

    AEXP 1.00

    PCAP 0.86 VEXP 1.10

    LEXP 1.00

    MODP 0.91

    TOOL 1.10

    SCED 1.00

  • 8/10/2019 COCOMO for Cost Estimation

    22/26

    An Example

    Nominal Effort = 2.8*(10)^1.20 = 44 person-

    months

    The product of the multipliers = 1.15**1.00

    = 1.35

    The estimated effort = 1.35*44 = 59 person-

    months

  • 8/10/2019 COCOMO for Cost Estimation

    23/26

    Detailed COCOMO

    The Detailed COCOMO differs from the Intermediate

    COCOMO in two aspects:

    Phase sensitive effort multipliers

    The effort multipliers for every cost drivers are different during thesoftware development phases. These multipliers are used to

    determine the amount of effort required to complete each phase.

    The Module-Subsystem-System Hierarchy

    The Software product is estimated in the three level hierarchical

    decomposition. The 15 EAF are related to module or subsystemlevel.

  • 8/10/2019 COCOMO for Cost Estimation

    24/26

    Detailed COCOMO

    Module Level Cost Drivers

    CPLX, PCAP, VEXP, LEXP

    Subsystem Level Cost Drivers

    RELY, DATA, TIME, STOR, VIRT

    The subsystem level cost drivers vary from

    subsystem to subsystem, but tend to be the same

    for all the modules within a subsystem.

  • 8/10/2019 COCOMO for Cost Estimation

    25/26

    Detailed COCOMO

    The Detailed COCOMO uses the same equations forestimation as the Intermediate COCOMO.

    Detailed Model uses a very complex procedure to estimatethe cost of the product. The procedure uses the DSIs for

    subsystems and modules, and module level and subsystemlevel effort multipliers as inputs.

    The Detailed COCOMO can estimate the staffing, cost, andduration of each of the development phases, subsystems,modulesallowing you to experiment with different

    development strategies, to find the plan that best suits yourneeds and resources.

  • 8/10/2019 COCOMO for Cost Estimation

    26/26

    Summary for COCOMO

    All the cost models are adjunct to, not substitute for,

    a detailed estimate by task by the project

    management.

    All the cost estimation models highly depends on theusers knowledge of application domain, analysis

    ability and understanding of the cost model itself.

    The process of meeting the estimate is equally

    critical to the process of making the estimate.