Chapter 2 Linear Software Project Estimation-All point Theory Notes
Chapter 2 Linear Software Project Estimation-All point Theory Notes
COCOMO Model:
The initial estimate (also called nominal estimate) is determined by an equation of the
form used in the static single variable models, using KDLOC as the measure of the size.
To determine the initial effort Ei in person-months the equation used is of the type is
shown below
Ei=a*(KDLOC)b
The value of the constant a and b are depends on the project type.
1. Organic
2. Semidetached
3. Embedded
1.Organic: A development project can be treated of the organic type, if the project
deals with developing a well-understood application program, the size of the
development team is reasonably small, and the team members are experienced in
developing similar methods of projects. Examples of this type of projects are simple
business systems, simple inventory management systems, and data processing
systems.
For three product categories, Bohem provides a different set of expression to predict
effort (in a unit of person month)and development time from the size of estimation in
KLOC(Kilo Line of code) efforts estimation takes into account the productivity loss due
to holidays, weekly off, coffee breaks, etc.
According to Boehm, software cost estimation should be done through three stages:
1. Basic Model
2. Intermediate Model
3. Detailed Model
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Where
KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
Effort is the total effort required to develop the software product, expressed in person
months (PMs).
For the three classes of software products, the formulas for estimating the effort based
on the code size are shown below:
For the three classes of software products, the formulas for estimating the development
time based on the effort are given below:
Some insight into the basic COCOMO model can be obtained by plotting the estimated
characteristics for different software sizes. Fig shows a plot of estimated effort versus
product size. From fig, we can observe that the effort is somewhat superliner in the size
of the software product. Thus, the effort required to develop a product increases very
rapidly with project size.
The development time versus the product size in KLOC is plotted in fig. From fig it can
be observed that the development time is a sub linear 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. This can be explained by the fact that
for larger products, a larger number of activities which can be carried out concurrently
can be identified. The parallel activities can be carried out simultaneously by the
engineers. This reduces the time to complete the project. Further, from fig, it can be
observed that the development time is roughly the same for all three categories of
products. For example, a 60 KLOC program can be developed in approximately 18
months, regardless of whether it is of organic, semidetached, or embedded type.
From the effort estimation, the project cost can be obtained by multiplying the required
effort by the manpower cost per month. But, implicit in this project cost computation is
the assumption that the entire project cost is incurred on account of the manpower cost
alone. In addition to manpower cost, a project would incur costs due to hardware and
software required for the project and the company overheads for administration, office
space, etc.
It is important to note that the effort and the duration estimations obtained using the
COCOMO model are called a nominal effort estimate and nominal duration estimate.
The term nominal implies that if anyone tries to complete the project in a time shorter
than the estimated duration, then the cost will increase drastically. But, if anyone
Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort and
development time for each of the three model i.e., organic, semi-detached & embedded.
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Estimated Size of project= 400 KLOC
(i)Organic Mode
(ii)Semidetached Mode
E = 3.0 * (400)1.12=2462.79 PM
D = 2.5 * (2462.79)0.35=38.45 PM
Solution: The semidetached mode is the most appropriate mode, keeping in view the
size, schedule and experience of development time.
Hence E=3.0(200)1.12=1133.12PM
D=2.5(1133.12)0.35=29.3PM P = 176 LOC/PM
2. Intermediate Model:
The basic Cocomo model considers that the effort is only a function of the number of
lines of code and some constants calculated according to the various software systems.
The intermediate COCOMO model recognizes these facts and refines the initial
estimates obtained through the basic COCOMO model by using a set of 15 cost drivers
based on various attributes of software engineering.
Hardware attributes -
Personnel attributes -
o Analyst capability
o Software engineering capability
o Applications experience
o Virtual machine experience
o Programming language experience
Project attributes -
The effort is determined as a function of program estimate, and a set of cost drivers are
given according to every phase of the software lifecycle.
● Kickoff Meeting
● Estimation Meeting
Step 5.3 − Each team member reads aloud the detailed task list that he/she
made, identifying any assumptions made and raising any questions or
issues. The task estimates are not disclosed.
S/W Project Mgmt.
The individual detailed task lists contribute to a more complete task list when
combined.
Step 5.4 − The team then discusses any doubt/problem they have about the
tasks they have arrived at, assumptions made, and estimation issues.
Step 5.5 − Each team member then revisits his/her task list and
assumptions, and makes changes if necessary. The task estimates also may
require adjustments based on the discussion, which are noted as +N Hrs. for
more effort and –N Hrs. for less effort.
The team members then combine the changes in the task estimates to arrive at the
total project estimate.
Step 5.6 − The moderator collects the changed estimates from all the team
members and plots them on the Round 2 line.
In this round, the range will be narrower compared to the earlier one, as it is more
consensus based.
tep 6 − The Project Manager then assembles the results from the Estimation
meeting.
Step 6.1 − He compiles the individual task lists and the corresponding
estimates into a single master task list.
Step 6.2 − He also combines the individual lists of assumptions.
Step 6.3 − He then reviews the final task list with the Estimation team.
Disadvantages
PA provides standardized method to functionally size the software work product. This
work product is the output of software new development and improvement projects for
subsequent releases. It is the software which is relocated to the production application
at project implementation. It measures functionality from the users point of view i.e. on
the basis of what the user requests and receives in return.
The Function Point Analysis technique is used to analyse the functionality delivered by
software and Unadjusted Function Point (UFP) is the unit of measurement.
1. The objective of FPA is to measure functionality that the user requests and
receives.
2. The objective of FPA is to measure software development and maintenance
independently of technology used for implementation.
3. It should be simple enough to minimize the overhead of the measurement
process.
4. It should be a consistent measure among various projects and organizations.
Types of FPA:
Levels of CMM
● Configuration Identification
● Baselines
● Change Control
● Configuration Status Accounting
● Configuration Audits and Reviews
Configuration Identification:
Example:
Instead of naming a File login.php its should be named login_v1.2.php where v1.2
stands for the version number of the file
Instead of naming folder "Code" it should be named "Code_D" where D represents code
should be backed up daily.
Baseline: