0% found this document useful (0 votes)
62 views

FYP EffortAndCostEstimationGuide

The document provides information about COCOMO, a software cost estimation model. It discusses the three COCOMO models (Basic, Intermediate, Advanced) and how each model uses inputs like source lines of code (KDSI) and cost drivers to calculate outputs like development effort (MM) and duration. The Intermediate model incorporates cost drivers related to product attributes, hardware, personnel, and the project to calculate an effort adjustment factor (EAF) for a more customized estimate.

Uploaded by

haider
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

FYP EffortAndCostEstimationGuide

The document provides information about COCOMO, a software cost estimation model. It discusses the three COCOMO models (Basic, Intermediate, Advanced) and how each model uses inputs like source lines of code (KDSI) and cost drivers to calculate outputs like development effort (MM) and duration. The Intermediate model incorporates cost drivers related to product attributes, hardware, personnel, and the project to calculate an effort adjustment factor (EAF) for a more customized estimate.

Uploaded by

haider
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

PROJECT EFFORT and

COST
ESTIMATION.
A Guide.
1 COCOMO – A Cost Estimation Model.
COnstructive COst MOdeling.
Introduced by Barry Boehm.
This model has been developed, to understand the
cost consequences of the decision made in
commissioning, developing and supporting a
software product.
Elements in COCOMO calculations.
Inputs
1. KDSI (Delivered Source Instructions) of deliverables.
2. Cost Drivers (taken from the system).
Outputs
1. MM (Effort)
2. Development Duration
3. Team size
4. Development cost
Models Referred
1. CoCoMo Models
[Basic, Intermediate, Advanced]
2. Software Project Models
[Organic, Semi-detached, Embedded]
Elements in COCOMO calculations.

INPUTS OUTPUTS

KDSI M.M.
Find EAF
& Dev. Duration
Cost Software Proj Team Size
Drivers Category
Dev. Cost

Basic, Organic Mode


Intermediate, Semi-Detached Mode
Advanced Embedded Mode
CoCoMo
Project Categories
1.1 Input for COCOMO models.
DSI – Delivered Source Instructions.
Lines of code actually delivered as end-product.
These include:
1. Data declarations.
2. Classes.
3. Libraries (single instances).
Excluding:
1. Undelivered support software (testing,
debugging utilities etc.)
2. Comments.
3. Reused code components (other than libraries).
KDSI – Kilo Delivered Source Instructions.
i.e. 1 KDSI = 1000 DSI. (DSI a.k.a. LOC)
1.1 Input for COCOMO models.
Cost Drivers.
Subjective assessments taken from a few system
attributes.
(a) Product Attributes
(b) Personnel Attributes
(c) Computer Attributes
(d) Project Attributes
These attributes yield a value known as EAF which is
used as input in the equations of COCOMO.
Man Months and Man Months
Man Hours
The amount of work done in one clock hour by one person
[without breaks]
Remember: This is a unit of effort and not a unit of time.

MM – Man Months (The Effort).


Value varies from place to place.
Includes.
All activities from product design to unit testing.
Excludes.
Leaves, training period, installation planning, conversion, overheads, etc.
Concept of Man Months / Person Months
What does it mean?
The number of hours a man (person) can work in a month.
Usually a man day is 8 hours, therefore a man week is:
8 hours * 5 days a week = 40 hours
since there is usually 4 weeks in a month it is (man month):
40 hours * 4 = 160 hours.
a man year is 12 * 160 = 1920 hours.

The modern day name is Person Months.


1.2 Software Categories as per COCOMO.

These are actually the software development modes.


COCOMO models are defined for 3 classes of software projects.
Using Boehm’s terminology these are:
1. Organic Mode.
2. Semi-detached Mode.
3. Embedded Mode.
1.2.1 Software Category: Organic Mode Projects.

Projects where:
Relatively small teams are working efficiently.
A familiar environment.
Developing well-understood applications.
Mostly in-house routine projects.
For example:
A data analysis application developed for a
mechanical industry unit involving heat transfer.
1.2.2 Software Category: Semi-detached Mode Projects.

Projects with:
Intermediate (medium sized teams).
Consisting of both experienced and inexperienced members.
Members may have:
Some or limited experience of similar systems
and
May be unfamiliar with some aspects of the current system.
Neither large nor small projects (medium).
For example:
A transaction-processing system with fixed requirements for
terminal hardware and database software.
1.2.3 Software Category: Embedded Mode Projects.

Projects:
Which are relatively large sized.
Where difficulties are expected.
These are concerned with developing software, which is
part of strongly coupled complex of hardware, software
and operational constraints.
Mostly defense related projects or similar.
The team members do not have much prior experience in
the application being developed.
For example:
A flight control system for an aircraft or a nuclear plant
software.
1.3 COCOMO Modeling Assumptions.

• DSI include non-comment lines of computer-processed code.


• Development life cycle starts at the beginning of product design.
• It ends with the acceptance test (concluding integration and test).
• Requirements analysis effort are estimated separately as an additional
percentage of development estimate.
• Activities include only direct-charged project efforts.
• Excluding: typical project over-heads such as administrative support,
facilities and equipment.
• A staff-month (effort) consists of 160 hours.
2 COCOMO Hierarchy Models.
COCOMO not only provides cost estimation it
also provides capabilities for sensitivity
analysis and trade-off analysis of many of the
common software engineering decision issues.

As described by Barry Boehm; the COCOMO


model is hierarchy of following three
increasingly detailed models:
1. Basic COCOMO model.
2. Intermediate COCOMO model.
3. Advanced COCOMO model.
2.1 Basic COCOMO Model.
(a.k.a. Model 1).
This model computes software development effort
as a function of program size.
Program size is expressed in DSI.
DSI – Delivered Source Instructions.
Almost same as lines of code.

MM = a X (KDSI)b [Man months or the effort]


Tdev = c X (MM)d [Calendar Time for development.]

Values of a, b, c and d can located from a table in coming slides.


2.2 Intermediate COCOMO Model.
(a.k.a. Model 2).
This model computes software development effort
as a function of program size and a set of cost
drivers that include subjective assessment of
products, hardware, personnel and project
attributes.

MM = a X (KDSI)b X EAF
Tdev = c X (MM)d (same as basic model)

Values of a, b, c and d can located from a table in coming slides.


2.2.0 Project Characteristics as Cost Drivers.

The cost drivers are subjective assessments of products,


hardware, personnel and project attributes.
We shall discuss each of these categories.
Each of these attributes is rated on a scale with six
possible values .
An EAF (effort adjustment factor) is calculated from the
product of all attribute ratings from a Boehm published
table.
The EAF is then placed in the COCOMO equations for the
model 2 to calculate the project effort (MM).
2.2.1 Cost Drivers – Product Attributes.

1. RELY: Required software reliability.


Dependable software? How much?
2. DATA: Size of database.
How many records?
3. CPLX: Complexity of the product.
Controls, mathematics, logic, etc.
2.2.2 Cost Drivers – Hardware Attributes.

1. TIME: Run-time performance constraints.


How many resources?
2. STOR: Main-storage (memory) constraints.
Needs what % of total memory.
3. VIRT: Volatility of the virtual-machine environment.
Collection of hardware and OS tools.
4. TURN: Computer turn-around time.
How fast?
2.2.3 Cost Drivers – Personnel (people) Attributes.

1. ACAP: Analyst capability.

2. PCAP: Software engineer (programmer) capability.

3. AEXP: Applications experience.

4. VEXP: Virtual machine experience.

5. LEXP: Programming language experience.


2.2.4 Cost Drivers – Project Attributes.

1. TOOL: Use of software tools.


Modern building tools.
2. MODP: Use of modern software engineering methods.
Modern modeling and designing tools and methods.
3. SCED: Required development schedule.
Ability to adhere to schedule.
Cost Drivers – Project Characteristics.
2.3 Advanced COCOMO Model.
(a.k.a. Model 3).
This model incorporates all characteristics of the
intermediate version with an assessment of the
cost driver’s impact on each phase distribution
(analysis, design, develop, implement, test,
produce, etc.) of the software engineering
process.
3 COCOMO Equations (formulae).
We shall see the COCOMO equations model by model.
1. Basic Model
2. Intermediate Model.
3. Advanced model.
3.1 Equations For Basic COCOMO Model.
Following is the format for this model:
MM = a X (KDSI)b [Man months or the effort]
Tdev = c X (MM)d [Time for development.]
Expressed in calendar months.
a, c are scaling factors for code size and effort size respectively.
b, d are scaling exponents for code size & effort size respectively.
Values of a, b, c, & d can be picked from the table below:

Project Mode a b c d
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.25
Embedded 3.6 1.20 2.5 0.32

Trick: Number of people needed = MM / Tdev


3.2 Equations For Intermediate COCOMO Model.

Following is the format for this model:


MM = a X (KDSI)b X EAF
Tdev = c X (MM)d (same as basic model)

Values of a & b are given by the table below:

Project Mode a b
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.20
COCOMO Example
Model: Intermediate COCOMO.
Consider a database system needed for an office automation project. The requirements study
shows the need of the following four clear modules. A size estimator has calculated size
estimates for each of these modules as following:
Module Size (KDSI)
Data entry 0.6
Data update 0.6
Query 0.8
Report Gen 1.0
The project characteristics are rated as follows:
Characteristic Level
Complexity High
Storage High
Applications Experience Low
Programmer Capabilities Low
All others Nominal
Find the following:
(a) Project Mode (Organic / Semi-detached / Embedded).
(b) Effort (Person months) for the project.
(c) What will be the duration estimate?
(d) How many people are required?
(e) Calculate development cost if effort each developer rate is Rs. 1000.00 per hour
COCOMO Example – Solution.
Given Model: Intermediate COCOMO.
(a) Project team will work in a familiar environment.
The project work appears to be well-understood to the team.
The number of modules also indicates that the project mode is organic.

(b) Person Months (Effort)


The effort size estimate is the total of module size in KDSI.
Module Size (KDSI)
Data entry 0.6
Data update 0.6
Query 0.8
Report Gen 1.0
Total 3.0 KDSI.
The project characteristics rating factors are: (see the characteristics table)
Characteristic Level Factor
Complexity High 1.15
Storage High 1.06
Applications Experience Low 1.13
Programmer Capabilities Low 1.17
All Others Nominal 1.0 Continued on next page
COCOMO Example – Solution.
(b) Person Months (Continued)
To find EAF multiply all characteristic rating values together.
EAF = 1.15 X 1.06 X 1.13 X 1.17 X 1 = 1.61
As the project mode is organic, we use the intermediate COCOMO effort
equation:
PM or MM = a X (KDSI)b X EAF (where a=3.2, b=1.05)
 PM or MM = 3.2 X (3.0)1.05 X 1.61 = 3.2 X 3.17 X 1.61 = 16.33
Thus the project effort > 16 person months.
(c) Duration (Time for development)
Use the organic mode intermediate COCOMO duration equation:
T = c X (MM)d (where c = 2.5, d=0.38)
dev
So duration is calculated as:
2.5 X (16.33)0.38 = 2.5 X 2.89 = 7.23
Thus project duration > 7 months.
COCOMO Example – Solution.
(d) Team size (number of people).
Number of people needed is given by equation:

MM / Tdev
So duration is calculated as: 16.33 / 7.23 = 2.26
Thus team size = 2 or 3 people.

(e) Development Cost


Developer Rate = Rs 1000 per hour
Number of developers = 3 (Case #1)
Number of developers = 2 (Case #2)

Case #1 – With 3 developers (one month)


Cost = 3 x 160 x 1000 = Rs. 4,80,000
Case #2 – With 2 developers (one month)
Cost = 2 x 160 x 1000 = Rs. 3,20,000
You can calculate total development cost by multiplying cost with 7 or 8 (months)
How to Calculate Man Hours
• When planning for a major project or establishing annual goals, looking at the costs of
workers/people is essential to determining whether you will be able to meet your financial
goals. Looking at man hours in terms of standard worker costs and overtime wages helps
managers keep budgets accurate and on track.
Step 1
• Look at the calendar for the time period in question. For an annual budget, remove all non-
working days from the work year. Do the same for a project planned to be completed over a
shorter period of time.
Step 2
• Assume you have a 12-week project with employees working a 10-hour day, five days a week.
There are two national holidays in the time period when your employees will not work.
There are five employees on the job.
Step 3
• Multiply the five-day work week by 12 weeks: 12 by 5 = 60. Subtract the two holidays for 58
days. Multiply the number of work days by 10 hours per day: 58 by 10 = 580--these are the
project hours per employee.
Step 4
• Multiply the per-employee man hours by the number of employees on the job: 580 by 5 =
2,900. There are 2,900 total man hours assigned to this project.

You might also like