top of page

 

COST ESTIMATION METRICS

 

Objectives

  • Using the COCOMO model, estimate the effort required for the project.

 

Description

For a software development project, overall effort and schedule estimates are essential   prerequisites for planning the project. These estimates are needed before development is initiated, as they establish the cost and schedule goals of the project. Without these, even simple questions like “is the project late?” “Are there cost overruns?” and “when is the project likely to complete?” cannot be answered. A more practical use of these estimates is in bidding for software projects, where cost and schedule estimates must be given to a potential client for the development contract.

 

Tools

Online tool:  http://csse.usc.edu/tools/COCOMOII.php

 

Procedure

In this lab session, students are required to explore both top-down and bottom-up estimation approaches.

Top-down estimation approach

Among the many LOC-oriented estimation models proposed in the literature, we will be focusing on Walston-Felix model and COCOMO II. COCOMO II has 7 to 17 multiplicative factors that determine the effort required to complete a software project. All cost drivers have qualitative rating levels ('extra low' to 'extra high') that express the impact of the driver and a corresponding set of effort multiplier. The nominal level always has an effort multiplier (EM) of 1.00, which does not change the estimated effort. So a cost driver's qualitative rating is translated into a quantitative one for use in the model. The COCOMO II model can be used to estimate effort and schedule for the whole project or for a project that consists of multiple modules.

Bottom-up estimation approach

The bottom-up approach lends itself to direct estimation of effort; once the project is partitioned into smaller tasks, it is possible to directly estimate the effort required for them, especially if tasks are relatively small. The approach:

  • Identify modules in the system and classify them as simple, medium, or complex.

  • Determine the average coding effort for simple/medium/complex modules.

  • Get the total coding effort using the coding effort of different types of modules and the counts for them.

  • Using the effort distribution for similar projects, estimate the effort for other tasks and the total effort.

  • Refine the estimates based on project-specific factors.

 

Problem

A typical estimation model is derived using regression analysis on data collected from past software projects. The overall structure of such models takes the form E = A + B * (ev)c where A, B and C are empirically derived constants, E is effort in person-months, and ev is the estimation variable (either LOC or FP). Using the Walston-Felix model [E = 5.2 * (KLOC)0.91] or COCOMO model [E = 3.9 * (KLOC)0.91 ], estimate the effort required for your project.

Using COCOMO II model, calculate the effort required to carry out your project in terms of Person-months.

 

Deliverables

  • Effort required

  • Duration of the project

 

References

 

bottom of page