0% found this document useful (0 votes)
3 views25 pages

Estimation

Uploaded by

Srinivasan
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)
3 views25 pages

Estimation

Uploaded by

Srinivasan
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

1

Chapter 26

Estimation for Software Projects

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
2
Software Project Planning

The overall goal of project planning is to


establish a pragmatic strategy for controlling,
tracking, and monitoring a complex technical
project.

Why?
So the end result gets done on time, with
quality!

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
3
Project Planning Task Set-I

 Establish project scope


 Determine feasibility

 Analyze risks
 Risk analysis is considered in detail in Chapter 25.
 Define required resources
 Determine require human resources
 Define reusable software resources
 Identify environmental resources

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
4
Project Planning Task Set-II

 Estimate cost and effort


 Decompose the problem
 Develop two or more estimates using size, function
points, process tasks or use-cases
 Reconcile the estimates
 Develop a project schedule
 Scheduling is considered in detail in Chapter 27.
 Establish a meaningful task set
 Define a task network
 Use scheduling tools to develop a timeline chart
 Define schedule tracking mechanisms

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
5
Estimation

 Estimation of resources, cost, and schedule for a


software engineering effort requires
 experience
 access to good historical information (metrics)
 the courage to commit to quantitative predictions
when qualitative information is all that exists
 Estimation carries inherent risk and this risk leads to
uncertainty

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
6
Write it Down!

Project Scope Software


Estimates Project
Risks Plan
Schedule
Control strategy

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
7
To Understand Scope ...
 Understand the customers needs
 understand the business context
 understand the project boundaries
 understand the customer’s motivation
 understand the likely paths for change
 understand that ...

Even when you understand,


nothing is guaranteed!

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
8
What is Scope?

 Software scope describes


 the functions and features that are to be delivered to
end-users
 the data that are input and output
 the “content” that is presented to users as a
consequence of using the software
 the performance, constraints, interfaces, and reliability
that bound the system.
 Scope is defined using one of two techniques:
 A narrative description of software scope is developed after
communication with all stakeholders.
 A set of use-cases is developed by end-users.

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
9
Resources
number software
tools
skills hardware

people
environment network
location resources

project

reusable
software
OTS new
components components

full-experience part.-experience
components components
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
10
Project Estimation

 Project scope must be


understood
 Elaboration (decomposition)
is necessary
 Historical metrics are very
helpful
 At least two different
techniques should be used
 Uncertainty is inherent in the
process

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
11
Estimation Techniques

 Past (similar) project experience


 Conventional estimation techniques
 task breakdown and effort estimates
 size (e.g., FP) estimates
 Empirical models
 Automated tools

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
12
Estimation Accuracy

 Predicated on …
 the degree to which the planner has properly
estimated the size of the product to be built
 the ability to translate the size estimate into human
effort, calendar time, and dollars (a function of the
availability of reliable software metrics from past
projects)
 the degree to which the project plan reflects the
abilities of the software team
 the stability of product requirements and the
environment that supports the software engineering
effort.

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
13
Functional Decomposition

Statement functional
of decomposition
Scope
Perform a
Grammatical “parse”

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
Conventional Methods: 14
LOC/FP Approach
 compute LOC/FP using estimates of information
domain values
 use historical data to build estimates for the
project

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
15
Example: LOC Approach

Average productivity for systems of this type = 620 LOC/pm.


Burdened labor rate =$8000 per month, the cost per line of
code is approximately $13.
Based on the LOC estimate and the historical productivity
data, the total estimated project cost is $431,000 and the
estimated effort is 54 person-months.
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
16
Example: FP Approach

The estimated number of FP is derived:


FPestimated = count-total 3 [0.65 + 0.01 3 S (Fi)]
FPestimated = 375
organizational average productivity = 6.5 FP/pm.
burdened labor rate = $8000 per month, approximately $1230/FP.
Based on the FP estimate and the historical productivity data, total estimated
project cost is $461,000 and estimated effort is 58 person-months.
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
17
Process-Based Estimation
Obtained from “process framework”

framework activities

application Effort required to


functions accomplish
each framework
activity for each
application function

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
18
Process-Based Estimation
Example
Activity Risk Construction
CC Planning Analysis Engineering Release CE Totals
Task analysis design code test

Function

UICF 0.50 2.50 0.40 5.00 n/a 8.40


2DGA 0.75 4.00 0.60 2.00 n/a 7.35
3DGA 0.50 4.00 1.00 3.00 n/a 8.50
CGDF 0.50 3.00 1.00 1.50 n/a 6.00
DSM 0.50 3.00 0.75 1.50 n/a 5.75
PCF 0.25 2.00 0.50 1.50 n/a 4.25
DAM 0.50 2.00 0.50 2.00 n/a 5.00

Totals 0.25 0.25 0.25 3.50 20.50 4.50 16.50 46.00

% effort 1% 1% 1% 8% 45% 10% 36%

CC = customer communication CE = customer evaluation


Based on an average burdened labor rate of $8,000 per
month, the total estimated project cost is $368,000 and
the
These slides are designed estimated
to accompany effort is
Software Engineering: A 46 person-months.
Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
19
Tool-Based Estimation

project characteristics

calibration factors

LOC/FP data

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
20
Estimation with Use-Cases

use cases scenarios pages К scenarios pages LOC LOC estimate


e subsystem
User interface subsystem 6 10 6 К 12 5 560 3,366
Engineeringsubsystem
subsystemgroup
group 10 20 8 К 16 8 3100 31,233
Infrastructure subsystem group
e subsystem group 5 6 5 К 10 6 1650 7,970
К К К К
Total LOC estimate
stimate К К К К 42,568

Using 620 LOC/pm as the average productivity for systems of


this type and a burdened labor rate of $8000 per month, the
cost per line of code is approximately $13. Based on the use-
case estimate and the historical productivity data, the total
estimated project cost is $552,000 and the estimated
effort is 68 person-months.

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
21
Empirical Estimation Models
General form:

exponent
effort = tuning coefficient * size

usually derived
as person-months empirically
of effort required derived

usually LOC but


may also be
function point
either a constant or
a number derived based
on complexity of project
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
22
COCOMO-II

 COCOMO II is actually a hierarchy of estimation


models that address the following areas:
 Application composition model. Used during the early
stages of software engineering, when prototyping of user
interfaces, consideration of software and system interaction,
assessment of performance, and evaluation of technology
maturity are paramount.
 Early design stage model. Used once requirements have
been stabilized and basic software architecture has been
established.
 Post-architecture-stage model. Used during the construction
of the software.

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
23
The Software Equation
A dynamic multivariable model

E = [LOC x B0.333/P]3 x (1/t4)

where
E = effort in person-months or person-years
t = project duration in months or years
B = “special skills factor”
P = “productivity parameter”

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
24
The Make-Buy Decision

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.
25
Computing Expected Cost

expected cost =

(path probability) x (estimated path cost)


i i

For example, the expected cost to build is:

expected cost = 0.30 ($380K) + 0.70 ($450K)


build
= $429 K
similarly,

expected cost = $382K


reuse
expected cost = $267K
buy
expected cost = $410K
contr
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright
2009 by Roger Pressman.

You might also like