Cocomo Ii

The COCOMO II project [Boehm et ai, 1995; Horowitz, 1997] is an effort being performed by the USC Center for Software Engineering, with the financial and technical support of numerous industry affiliates. (They include AT&T Bell Labs, Bellcore, DISA, EDS, E-Systems, Hewlett-Packard, Hughes, IDA, IDE, JPL, Litton Data Systems, Lockheed Martin, Loral, MDAC, Motorola, Northrop-Grumman, Rational, Rockwell, SAIC, SEI, SPC, TASC, Teledyne, Texas Instruments, TRW, USAF Rome Labs, US Army Research Lab, and Xerox.) The objectives of this project are threefold:

1. To develop a software cost and schedule estimation model for the life-cycle practices of the 1990s and 2000s

2. To develop a software cost database and tool support for improvement of the cost model

3. To provide a quantitative analytic framework for evaluating software technologies and their economic impact

USC speculates that the post-2000 software marketplace will include five distinct populations:

1. End-user programmers (55 million) generating spreadsheets or database queries

2. Component developers (600,000) generating end-user applications and composition aids

3. Component integrators (700,000) building applications rapidly from existing GUI builders, database/object managers, middleware, and domain-specific components

4. System integrators (700,000) dealing with larger scale systems, unprecedented systems, few-of-a-kind applications, embedded systems requiring up-front engineering, and other substantial custom software development

5. Infrastructure developers (750,000) developing domain-independent components such as operating systems, database management systems, networks, and user interface frameworks

End users are not targeted by COCOMO II because they tend to do very rapid, small-scale efforts for which simple activity-based estimation is adequate. Projects that require teams of people working over months or years are the primary target market for software cost estimation models.

The COCOMO II strategy is to preserve the openness of the original COCOMO model, tailor it to the marketplace just described, key the inputs and outputs to the level of information available, and enable the model to be tailored to various project process strategies. In particular, this generation of COCOMO provides range estimates rather than point estimates. These vary over the life cycle from early, coarse-grained inputs and wide-ranging estimates to later, fine-grained inputs and more-precise estimates. Figure B-2 illustrates the estimation accuracy over the life cycle.

To support this strategy, COCOMO II defines three different models for cost estimation. Figure B-3 maps these models to the phases of an iterative life cycle. The models correspond to the level of fidelity and uncertainty appropriate for the current phase of the life cycle. The post-architecture model corresponds closely to the traditional COCOMO model, where it was assumed that the project had stable requirements, plans, and candidate architecture at the outset. Projects then followed a waterfall process through delivery with little requirements volatility. The post-architecture model provides for fine-grained estimates of the project once it has a requirements baseline, an architecture baseline, and a plan for the construction phase. The early design model provides for coarser grained estimates in the elaboration

Rough Order Magnitude Estimate

phase of the life cycle, and the applications composition model allows for very rough order-of-magnitude estimates during the inception phase of a project.

The applications composition model corresponds to exploratory work typically done during prototyping efforts and feasibility analyses. The estimating equation is a simple linear relationship of object points and domain complexity.

Inception

Elaboration

Construction

Transition

Cocomo Design
COCOMO II Cost Models

Prototyping Model

Early Design Model

Post-Architecture Model

Coarse inputs Low-fidelity estimates Rough requirements Architecture concept

Well-understood project Moderate fidelity estimates Well-understood requirements Well-understood architecture

Detailed project characterization High-fidelity estimates Stable requirements baseline Stable architecture baseline

Figure B-3. COCOMO II estimation over a project life cycle

Figure B-3. COCOMO II estimation over a project life cycle

The early design model corresponds to the level of detail available in the engineering stage of a project, during which the architecture, requirements, and plans are being synthesized. The overall cost estimate equation is as follows:

Effort = 2.45 EArch (Size)p where:

Effort = number of staff-months

^-Arch = product of seven early design effort adjustment factors (Table B-5)

Size = number of function points (preferred) or KSLOC

P = process exponent

The early design phase parameters are composites of the post-architecture parameters. They provide a simpler estimating method for the early life cycle when there are substantially more unknowns.

The post-architecture cost estimating equation is as follows:

Effort = number of staff-months EApp = product of 17 post-architecture effort adjustment factors (Table B-6) Size = number of KSLOC (preferred) or function points P = process exponent

Table B-5. Early design model effort adjustment factors
Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment