How will you evaluate total efforts and scheduled time using basic Cocomo model?

BASIC COCOMO MODEL: Basic COCMO Model is good for quick, early, rough order of magnitude estimate of software cost. It does not account for differences in hardware constraints, personal Quality and experience, use of modern tools and techniques, and other project attribute known to have a significant influence on software cost, which limits its accuracy. It gives an approximate estimate of the project parameters. The basic COCOMO estimation model is given by the following expressions:

Effort = a1 x (KLOC)a2PM

Tdev = b1 x (Effort)b2 Months
Where,

  • KLOC is the estimated size of the software product expressed in Kilo Lines of Code,
     
  • a1, a2, b1, b2 are constants for each category of software products,
     
  • Tdev is the estimated time to develop the software, expressed in months,
     
  • Effort is the total effort required to develop the software product, expressed in person months (PMs).

Estimation of development effort:

For the three classes of software products, the formulas for estimating the effort based on the code size are shown below:

Organic: Effort = 2.4(KLOC)1.05 PM
Semi-Detached: Effort = 3.0(KLOC)1.12 PM
Embedded: Effort = 3.6(KLOC)1.20 PM
PM: Person Months

Estimation of development time:

For the three classes of software products, the formulas for estimating the development time based on the effort are given below:

Organic: Tdev = 2.5(Effort)0.38 Months
Semi-detached: Tdev = 2.5(Effort)0.35 Months
Embedded: Tdev = 2.5(Effort)0.32 Months

The effort estimation is expressed in units of person-months (PM). It is the area under the person-month plot as shown in figure below. It should be carefully noted that an effort of 100 PM does not imply that 100 persons should work for 1 month nor does it imply that 1 person should be employed for 100 months, but it denotes the area under the person-month curve.

COCOMO2.gif

From the following figure which shows a plot of estimated effort versus product size. We can observe that the effort is somewhat superlinear in the size of the software product. Thus, the effort required to develop a product increases very rapidly with project size.

COCOMO3.gif

Now the following figure plots the development time versus the product size in KLOC can be observed that the development time is a sublinear function of the size of the product, i.e. when the size of the product increases by two times, the time to develop the product does not double but rises moderately.

COCOMO4.gif

Note: It is to be noted that the effort and the duration estimations obtained using the COCOMO model are called as nominal effort estimate and nominal duration estimate.

Let's see an Example:

Problem: Assume that the size of an organic type software product has been estimated to be 32,000 lines of source code. Assume that the average salary of software engineers be Rs. 15,000/- per month. Determine the effort required to develop the software product and the nominal development time.

Solution: As per the basic COCOMO estimation formula for organic software:

Effort = 2.4 * (32)1.05 = 91 PM
Nominal development time = 2.5 * (91)0.38 = 14 months

Cost required to develop the product = 14 * 15,000
                                                  = Rs. 210,000/-

INTERMEDIATE COCOMO MODEL: The intermediate COCOMO model takes the basic COCOMO model as its starting point which means that it is slightly different coefficients for the effort equation than the Basic model. After that it multiplies the basic estimate by an Effort Adjustment Factor which is calculated as the product of 15 multipliers (cost drivers) which take into account factors such as required product reliability, database size, execution and storage constraints, personnel aptitude, and the use of software tools. It produces better results than the Basic model because the user supplies settings for cost drivers that determine the effort and duration of the software projects. The Intermediate model also allows the system to be divided and estimated in components. DSI values and cost drivers can be chosen for individual components instead of for the system as a whole.

Effort Adjustment factor

The effort adjustment factor use 15 cost drivers that are grouped into four categories:

  1. Product
  2. Computer
  3. Personnel
  4. Project

Note: Each cost driver has been rated on a six-point ordinal scale ranging from low to high importance. Product of all effort multipliers leads to EAF.

Estimation of development effort:

For the three classes of software products, the formulas for estimating the effort based on the code size are shown below:

Organic: Effort = 3.2(KLOC)1.05 PM
Semi-Detached: Effort = 3.0(KLOC)1.12 PM
Embedded: Effort = 2.8(KLOC)1.20 PM
PM: Person Months

Estimation of development time:

For the three classes of software products, the formulas for estimating the development time based on the effort are given below:

Organic: Tdev = 2.5(Effort)0.38 Months
Semi-detached: Tdev = 2.5(Effort)0.35 Months
Embedded: Tdev = 2.5(Effort)0.32 Months

DETAILED/ADVANCED COCOMO MODEL: A major shortcoming of both the basic and intermediate COCOMO models is that they consider a software product as a single homogeneous entity. However, most large systems are made up several smaller sub-systems. These sub-systems may have widely different characteristics.

The Detailed COCOMO Model differs from the Intermediate COCOMO model in that it uses effort multipliers for each phase of the project. These phase dependent effort multipliers yield better estimates because the cost driver ratings may be different during each phase.
In Advanced COCOMO Model the cost of each subsystem is estimated separately. This approach reduces the margin of error in the final estimate.

Example: A distributed Management Information System (MIS) product for an organization having offices at several places across the country can have the following sub-components:

What is COCOMO model How will you evaluate total efforts and scheduled time using basic Cocomo model?

it refers to a group of models and is used to estimate the development efforts which are involved in a project. COCOMO is based upon the estimation of lines of code in a system and the time. COCOMO has also considered the aspects like project attributes, hardware, assessment of produce, etc.

Which COCOMO estimation model is used to evaluate the effort to system design specification?

1. Which of the following uses empirically derived formulas to predict effort as a function of LOC or FP? Explanation: Function points and COCOMO are used to evaluate effort.

What is the relevance of the COCOMO model in the cost estimation of IT projects?

COCOMO model allows software manager to decide how detailed they would like to conduct the cost estimation for their own project. COCOMO can unveil the efforts and schedule of a software product based on the size of the software in different levels.