0% found this document useful (0 votes)
108 views30 pages

11 Estimation-CoCoMo Q2

The document discusses various software project estimation techniques including Agile story points, the Constructive Cost Model (COCOMO), and other estimation methods. It covers topics such as estimation of effort, duration, staffing needs, productivity rates, and cost drivers in COCOMO's basic, intermediate, and detailed modes. Examples are provided to demonstrate how to apply COCOMO to estimate effort, duration, and staffing for a software project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views30 pages

11 Estimation-CoCoMo Q2

The document discusses various software project estimation techniques including Agile story points, the Constructive Cost Model (COCOMO), and other estimation methods. It covers topics such as estimation of effort, duration, staffing needs, productivity rates, and cost drivers in COCOMO's basic, intermediate, and detailed modes. Examples are provided to demonstrate how to apply COCOMO to estimate effort, duration, and staffing for a software project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Managing Software Projects

Estimation – Agile & CoCoMo


Agile – Story Points
What are story points?

A story point is a unit of measure used in


the agile development process to express
an estimate of the overall effort that will be
required to fully implement a product
backlog item
Story points
• Playing Poker

• T-Shirt Sizes

• Bucket System

• Large / Uncertain / Small

• Dot Voting
Estimation
Involves answering the following questions:

1. How much calendar time is needed to


complete each activity?
2. What is the total cost of each activity?
3. How much effort is required to complete
each activity?
Cost Estimation Methods
• Expert Judgment

• Analytical Model

• Empirical Model
Estimation Techniques
• Algorithmic cost modeling
– A model is developed using historical cost information that relates
some software metric (usually its size) to the project cost

• Expert judgment
– Experts on the proposed software development techniques and the
application domain, are consulted.

• Estimation by analogy
– The cost of a new project is estimated by analogy with the completed
projects.

• Parkinson’s Law
– The cost is determined by available resources rather than by objective
assessment.

• Pricing to win
– The estimated effort depends on the customer’s budget and not on
the software functionality.
Software Estimation
• Duration
• Cost
• Effort
– Measure units
• Person-days
• Person-months
• Person-hours
What is Staff-Month ?
• Definition of staff-month must be standard
– [8 (hours) * 5 (days) * 4 (weeks) ] HOURS
– Effort = size / historical productivity
– Productivity could be
• 4 SLOC / staff-day – Complex Code
• 8 SLOC / staff-day – Simple Code
– For one person only
– Could be two persons for 15 days
Productivity Rates
• Effort means Amount of Person-Effort OR
Labour
• Typical values for productivity rates
– 50-300 SLOC/ month (2-15 SLOC / day) for high
ordering language
– 60-500 SLOC / month for Assembly language
– Productivity = LOC / Effort
– Effort = LOC / Productivity
Effort Calculation

• Simplest →
Effort = Size / Historical Productivity
Where productivity from historical data shows
for complex software : 5 SLOC per staff day
for simple software : 10 SLOC per staff day
Thus, if LOC estimated is 3500 and is simple
Then, 350 staff days are required, but if complex
then 700 days required.
Constructive Cost-effective Model
(COCOMO)
A regression model. Proposed by Barry Boehm
Modes are:
• Organic
– Payroll, inventory. Small project team. 2-50 KLOC
• Semidetached
– Typified by utility systems such as compilers,
editors. Project team size medium-size. 50-300
KLOC
• Embedded
– Real-time systems such as those for air-traffic
control, ATMs etc. large project teams. > 300 KLOC
Modes categorize the complexity of the system.
Another way of looking at it……
• Organic projects - "small" teams with "good"
experience working with "less than rigid"
requirements
• Semi-detached projects - "medium" teams with
mixed experience working with a mix of rigid and
less than rigid requirements
• Embedded projects - developed within a set of
"tight" constraints. It is also combination of
organic and semi-detached projects.(hardware,
software, operational, ...)
COCOMO - Levels
• Basic
– Uses size and mode to determine the effort and
schedule
• Intermediate
– Uses size, mode and 15 additional cost drivers to
determine effort
• Detailed
– Uses phase sensitive multipliers

Levels define the accuracy details of the estimate


COCOMO – Effort Estimation

Formula
• Effort (E) = a * (Size)b

where a and b are constants derived from


regression analysis, based on past projects

size is in KLOC and E is in staff-month


Values for a and b
Level Basic Intermediate

a b a b
Mode

Organic 2.4 1.05 3.2 1.05

Semi- 3.0 1.12 3.0 1.12


detached

Embedded 3.6 1.20 2.8 1.20


Development Time - BASIC

For Organic
TDEV = 2.5 x (E)0.38 Months

For Semidetached
TDEV = 2.5 x (E)0.35 Months

For Embedded
TDEV = 2.5 x (E)0.32 Months
Estimates - BASIC

Average Staff Estimate SS = Effort / TDEV

Productivity P = Size / Effort


Examples

1. A (basic) development project is sized at 7.5


KLOC and is evaluated as being simple –in
the organic mode. Estimate the Effort,
productivity and average staffing
requirements.
2. A development project is estimated to be 55
KLOC when complete and is believed to be
of medium complexity. Assumed to be
semidetached mode. Find the effort and
duration estimates.
Cost Drivers - INTERMEDIATE

• Project
– Use of Modern Programming Practices
– Use of Software Tools
– Required Development Schedule
• Product
– Required Software Reliability
– Database size
– Product Complexity
Cost Drivers - INTERMEDIATE

• Computer
– Execution Time Constraints
– Main Storage Constraint
• Personnel
– Analyst Capability
– Application Experience
– Programmer Capability
– Virtual Machine Experience
– Programming Language Experience
Cost Drivers
Ci Very Low Low Nominal High Very High Extra High
Product Attributes
Required Software
Reliability (RELY) 0.75 0.88 1.00 1.15 1.4
Database Size
(DATA) 0.94 1.00 1.08 1.16
Product
Complexity
(CPLX) 0.7 0.85 1.00 1.15 1.3 1.65
Computer Attributes
Execution Time
Constraint (TIME) 1.00 1.11 1.3 1.66
Main Storage
Constraint (STOR) 1.00 1.06 1.21 1.56
Virtual Machine
Volatility (VIRT) 0.87 1.00 1.15 1.3
Computer
Turnaround
(TURN) 0.87 1.00 1.07 1.15
Cost Drivers
Very Low Low Nominal High Very High Extra High
Personnel Attributes
Analyst Capability
(ACAP) 1.46 1.19 1.00 0.71
Application
Experience (AEXP) 1.29 1.13 1.00 0.91 0.82
Programmer
Capability (PCAP) 1.42 1.17 1.00 0.86 0.7
Virtual Machine
Experience (VEXP) 1.21 1.1 1.00 0.9
Programming
Language
Experience (LEXP) 1.14 1.07 1.00 0.95
Project Attributes
Use of Modern
Programming
Practices (MODP) 1.24 1.1 1.00 0.91 0.82
Use of Software
Tools (TOOL) 1.23 1.1 1.00 0.91 0.82
Required
Development
Schedule (SCED) 1.24 1.08 1.00 1.04 1.1
COCOMO - INTERMEDIATE

E = a x (size)b x C

C is the Cost Drivers’ Product


C = c1 x c2 x c3 x c4 x…x ci
Example - 1
A 55 KLOC embedded software product is
to perform communications processing
functions on a commercial microprocessor. The
cost driver value is 1.17. Calculate the staff-months
for the same.

E = 3.0 * (55)1.12 x C
C=1.17
E = 266.88 x 1.17
= 312.25 staff-months
Detailed COCOMO
• Program decomposed into specific products and
components of products.

• Cost Drivers analyzed separately for each component

• Project partitioned into phases – Requirements,


Design, detailed design, coding and testing.
Advantages of COCOMO

• Repeatable process
• Versatile (since it supports modes and levels)
• Model can be calibrated
• Easy to use
• Thoroughly documented
Disadvantages of COCOMO
• Ignores customer attributes
• Ignores many hardware issues
• Ignores personnel turnover
• Ignores Software safety issues
• Dependent on the knowledge of cost drivers
Other Models
• COCOMO – II

• SLIM (Software Lifecycle Management)

• CART

• K-Near

You might also like