0% found this document useful (0 votes)
125 views8 pages

Software Project Cost Estimation

The document discusses various techniques for estimating project costs in software engineering. It covers algorithmic estimation, estimation by analogy, empirical estimation using expert judgment, top-down estimation including the Delphi method, bottom-up estimation, and the Program Evaluation and Review Technique (PERT) method. Examples are provided for each technique to illustrate how estimates might be calculated for the number of planes in an airline's fleet.

Uploaded by

ncdanh
Copyright
© Attribution Non-Commercial (BY-NC)
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)
125 views8 pages

Software Project Cost Estimation

The document discusses various techniques for estimating project costs in software engineering. It covers algorithmic estimation, estimation by analogy, empirical estimation using expert judgment, top-down estimation including the Delphi method, bottom-up estimation, and the Program Evaluation and Review Technique (PERT) method. Examples are provided for each technique to illustrate how estimates might be calculated for the number of planes in an airline's fleet.

Uploaded by

ncdanh
Copyright
© Attribution Non-Commercial (BY-NC)
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

11.

Project Cost Management – Overview 2

11. Project Cost Management

Software Engineering
Project Cost Management
11.1 Software Estimation
11.2 Budgeting
Peter Müller 11.3 Earned Value Method
Chair of Programming Methodology

Spring Semester 10
Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 3 11.1 Project Cost Management – Software Estimation 4

Estimations in Software Projects Estimation Exercise


 Mostly personnel
cost (effort)  How many passenger planes does Lufthansa
Costs  Travel, training have?
 Hardware, - Not counting regional subsidiaries
software

Duration is essentially Effort


effort / resources
 How can we approach this problem systematically?

Schedule Resources

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 5 11.1 Project Cost Management – Software Estimation 6

Algorithmic Estimate 1 Algorithmic Estimate 2


 Idea: Number of passengers corresponds to  Idea: Number of planes corresponds to destinations
number of residents in the home country - We assume a star topology

Flights per Passengers Percentage


resident per flight of planes in Planes per
per year operation connection

80,000,000 × 1 / 365 / 180 / 4 / 0.8 = 380 150 × 2 / 0.8 = 375

Residents Days per Flights Destinations Percentage


in Germany year per plane of planes in
per day operation

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

1
11.1 Project Cost Management – Software Estimation 7 11.1 Project Cost Management – Software Estimation 8

Estimation by Analogy Empirical Estimation: Expert Judgment


 Idea: We know that Air France has 240 planes
- We assume correlation with number of residents  Estimate is based on experience and historical
data
Planes of
Air France
 Involve experts in
- Development techniques
240 / 60,000,000 × 80,000,000 = 320 - Application domain

Residents Residents  Most common technique in practice


in France in Germany

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 9 11.1 Project Cost Management – Software Estimation 10

Top-Down Estimation Top-Down Estimation: Delphi Method


 Estimation by analogy Step 1: Each expert submits Step 2: Each expert
 Estimate receives summary of all
- Comparison with similar projects estimates
 Justification
- Analysis of differences
- Typical example: SAP introduction Step 3: Each expert
submits
Pros Cons Step 4: Iterate until  New estimate
 Quicker and less expensive  Underestimation of difficult consensus is achieved  Justification of deviation
than other methods technical problems likely from average of
 Can be done early in the  No detailed justification of previous estimates
project estimate  More accurate than ordinary expert judgment
 Be aware of scalability
- Eliminates outliers
problems!
 More expensive to produce
Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 11 11.1 Project Cost Management – Software Estimation 12

Bottom-Up Estimation Program Evaluation and Review Technique


 Estimation by decomposition  Goal: Manage probabilities with simple statistics
- Estimating the effort for individual work packages  Approach: Ask several experts for three estimates
- Cost and accuracy depend on size of the work packages - Optimistic, Likely (mode), and Pessimistic
Pros Cons  Important formulas
 See “cons” of top-down  Underestimation because - Mean M=(O+4×L+P)/6
estimation effort does not grow - Deviation V = ( P – O ) / 6
linearly (due to complexity,
etc.)  Assumptions
 Underestimation of - Project effort is normally distributed
integration effort (more than 20 work packages)
 Requires initial system - Work package efforts are statistically independent
design (ignores single underlying cause of delay)
Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

2
11.1 Project Cost Management – Software Estimation 13 11.1 Project Cost Management – Software Estimation 14

Algorithmic Estimation Algorithmic Estimation of Software


Flights per Passengers Percentage of  Basic cost model
resident per year per flight planes in operation
Effort = A × SizeB × m(X)
80,000,000 × 1 / 365 / 180 / 4 / 0.8 = 380
 Size: Some measurement of the software size
Residents Days per Flights per  A: Constant factor that depends on
in Germany year plane per day
- Organizational practices
- Type of software
 Algorithmic estimation is based on
- Cost model, represented by formula
 B: Usually lies between 1 and 1.5
- Measurement of size (passengers, destinations, etc.)  X: Vector of cost factors
- Parameters (size of planes, planes in operation, etc.)  m: Adjustment multiplier

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 15 11.1 Project Cost Management – Software Estimation 16

Cost Models Measuring Size: Lines of Code


 Software size can be measured in lines of source
Effort = A × SizeB × m(X)
code
 Cost models - Most commonly used metric
- Define a way to determine the size
- Define cost factors X  Difficult in early phases of the project (before
- Provide defaults for parameters A, B, m design is known)
(based on hundreds of projects) - Reuse, make-or-buy decisions
 Influenced heavily by choice of programming
 Important examples language
- Function point analysis
 Should only be used indirectly
- Constructive cost model (COCOMO)

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 17 11.1 Project Cost Management – Software Estimation 18

Function Point Analysis Functions


 Inputs
 Size is estimated based on requirements - Forms, dialogs, messages, XML documents
 Outputs
Inputs - Web pages, reports, graphs, messages, XML documents

Internal files  Inquiries (input/output combinations)


Inquiries - Simple web inputs, generally producing a single output
Function
 Logical internal files (controlled by the program)
External files
- Tables, views or files in database
Outputs
 External files (controlled by other programs)
- Tables or files used from other systems or databases

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

3
11.1 Project Cost Management – Software Estimation 19 11.1 Project Cost Management – Software Estimation 20

Complexity of Functions Cost Factors


 Determine Input Simple Average Complex  Data communications  Rate each element from 0 – 5
complexity  Distributed processing - 0: no influence
Data 1-5 6-10 >10
elements  Performance
of each  Heavy use - 1: insignificant influence
function Checking Formal Formal, Formal, logical,
logical requires DB access
 Transaction rate - 2: moderate influence
 Online data entry - 3: average influence
 Complex interface
Factor Simple Average Complex  Online data update
- 4: significant influence
 Weight each Inputs 3 4 6  Complex processing - 5: strong influence
function  Reusability
Outputs 4 5 7  Technical complexity factor
according to  Installation ease
Inquiries 3 4 6  Operational ease - TCF = 0.65 + 0.01 × sum
complexity Ext. files 7 10 15  Multiple sites - Varies between 0.65 and 1.35
Int. files 5 7 10  Facilitate change

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 21 11.1 Project Cost Management – Software Estimation 22

Function Point Computation Calibration


Flights per Passengers Percentage of
resident per year per flight planes in operation

80,000,000 × 1 / 365 / 180 / 4 / 0.8 = 380

Residents Days per Flights per


in Germany year plane per day

 Assume that model (formula) is correct


 Calibrate model based on comparable airlines
 Adjusted function points: FP = UFP × TCF  Estimate number of residents in the country

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 23 11.1 Project Cost Management – Software Estimation 24

Determining Effort and Size Function Point Analysis: Discussion


 Empirical value for effort Pros Cons
Effort = FP1.4 / 150  Based on requirements  Estimation of overall effort
- Or use a table
(instead of code size) (not per phase)
 Can be applied in early  Tailored towards functional
 Empirical value for size project phases decomposition (rather than
 Can be calibrated (for OO)
 Huge differences in company, project type)  Tailored towards
productivity  Counting standards by information systems
- Factor 10-20 between “International Function  Needs calibration to
Points User Group” produce reliable results
individual programmers
 Technology-independent
- Factor 4 between
companies

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

4
11.1 Project Cost Management – Software Estimation 25 11.1 Project Cost Management – Software Estimation 26

Estimation Techniques: Discussion Other Estimation Strategies


Empirical Estimation Algorithmic Estimation Parkinson’s Law Pricing to win
 Accurate if experts are  Very accurate if model is  Work expands to fill the  Cost is estimated to
experienced calibrated
time available whatever the customer
 Experts can be strongly  Calibration is very difficult is willing to spend
- Gold plating
biased (over-optimism) and expensive
 Estimation is expensive  Effort is determined by  Common strategy to
available resources win projects
 Empirical studies  Important for team  Features are negotiated
- Do not show that uncalibrated algorithmic estimation is, management later, constrained by
in general, more accurate agreed costs
- Show that algorithmic estimation is more accurate than  Costs are fixed, not
experts who do not have important domain knowledge requirements

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.1 Project Cost Management – Software Estimation 27 11. Project Cost Management – Overview 28

Estimating Process 11. Project Cost Management


Determine Select Estimators,
Establish
project strategy and type of validation,
objectives
details plan historic data

Why? Accuracy? Generate


11.1 Software Estimation
Audience? effort 11.2 Budgeting
estimate
Duration = √Effort 11.3 Earned Value Method
Duration = 3.0 × Effort1/3 Determine
team size Document
(Effort in person months,
and duration assumptions
Duration in months)
Effort = Duration × Team Size
Validate and
Document
Different method, review finalize

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.2 Project Cost Management – Budgeting 29 11.2 Project Cost Management – Budgeting 30

Direct and Indirect Costs Unit Costs


 Direct costs: Costs incurred for the benefit  Projects have to budget for
of a specific project - Direct costs
- Salaries of project staff - A certain share of indirect costs
- Equipment bought specifically for the project  Budgets are usually determined by using unit costs
- Travel expenses - Unit cost: Price per unit of a resource
 Indirect costs: Costs incurred for the joint benefit - Loaded rate: Including indirect costs
over multiple projects (“overhead”) - Unloaded rate: Without indirect costs
- Accounting, quality assurance department  Examples
- Line management - Loaded day rate for senior IT consultant: CHF 3.500
- Rooms, electricity, heating - Loaded day rate for internal developer: CHF 1.200

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

5
11.2 Project Cost Management – Budgeting 31 11.2 Project Cost Management – Budgeting 32

Effort, Duration, and Cost Pricing


 Effort: The number of labor units required to  The price is often based on the costs
complete an activity and a margin
 Availability: Time a staff person is able to work  Price = Costs / ( 1 - Margin )
- For long projects approximately 70% per person  Example
 Productivity: The relative measure of work in a time - Costs = CHF 1.000.000
unit - Margin = 5%
- Price = CHF 1.052.632
 Duration = ( Effort / Productivity ) /  Price is influenced by
( Resources x Availability ) - Market situation
 Cost = ( Effort / Productivity ) x Unit Cost - Business strategy

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11. Project Cost Management – Overview 33 11.3 Project Cost Management – Earned Value Method 34

11. Project Cost Management The Triple Constraint


Scope
11.1 Software Estimation
11.2 Budgeting
11.3 Earned Value Method

Time Cost
☺ ☺
 Project objectives are equally important
 Actions in one project area usually affect other areas

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.3 Project Cost Management – Earned Value Method 35 11.3 Project Cost Management – Earned Value Method 36

Planned Value (PV) Actual Cost (AC)


 The cumulative sum  Total cost incurred for
of the approved cost the project up to a
for activities BAC
specified date
BAC
scheduled  The actual or real cost Actual
 Corresponds to the of work performed Cost
Planned AC( t )
cost baseline Value  Contains both direct Planned
PV( t ) PV( t ) Value
 Budget at completion and indirect cost
is the estimated
baseline total cost: Start t Planned Start t Planned
BAC = PV( end ) End End

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

6
11.3 Project Cost Management – Earned Value Method 37 11.3 Project Cost Management – Earned Value Method 38

Earned Value (EV) Earned Value Method


 The sum of approved  Expresses effort, cost, and
cost estimates for time as monetary value
activities completed BAC - PV( t ): Worth of the activities
scheduled (planned)
up to a specified date
- AC( t ): Cost spent
 An activity is AC( t )
- EV( t ): Worth of the activities AC( t )
completed if PV=EV, PV( t ) performed
EV( t ) PV( t )
regardless of the Earned  Compares the amount of EV( t )
Value
actual cost work planned to what was

Planned
Start t

Actual End
actually accomplished to

End
t
determine cost and
schedule performance

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.3 Project Cost Management – Earned Value Method 39 11.3 Project Cost Management – Earned Value Method 40

Example Cost Performance Index (CPI)


Paint wall
 Compares budgeted cost of work performed to
actual cost
Paint ceiling
Refurnish  Indicates the efficiency of the project
Clean EV
t
CPI = AC

Activity PV( t ) AC( t ) EV( t )  How much do we get out of one Franc we spend?
Paint wall 800 1000 800 Activity PV( t ) AC( t ) EV( t )
Paint ceiling 400 300 300 Paint wall 800 1000 800 1.100
CPI = = 85%
Paint ceiling 400 300 300 1.300
Total 1.200 1.300 1.100
Total 1.200 1.300 1.100

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

11.3 Project Cost Management – Earned Value Method 41 11.3 Project Cost Management – Earned Value Method 42

Schedule Performance Index (SPI) Calculated Estimate at Completion


 Compares work performed to work planned  Budget modified by
BAC performance
EV CEAC1 =
SPI = PV CPI - If the current variances are
typical for the future
 Actual to date plus
 How fast does the project progress in relation to remaining budget
how fast it is expected to progress? CEAC2 = AC + BAC - EV
- If the current variances are
atypical for the future
Activity PV( t ) AC( t ) EV( t )
 Actual plus a new estimate
Paint wall 800 1000 800 1.100 for remaining work
SPI = = 92% CEAC3 = AC + ETC
Paint ceiling 400 300 300 1.200 - If the original estimate was
Total 1.200 1.300 1.100 fundamentally flawed

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

7
11.3 Project Cost Management – Earned Value Method 43 11.3 Project Cost Management – Earned Value Method 44

Interpreting EV-Indicators Golden Rules of Earned Value


 Typically, indicators are stable after 20%  Rule 1: Earned value should be verified by
of the project duration physically examining the work product
associated with the activity
 Rule 2: For unfinished activities, earned value
 CPI > 1: Project is in budget estimates are usually just a guess. Apply one of the
 CPI < 1: Project is over budget following rules consistently
 SPI > 1: Project is ahead of schedule - 50/50 Rule: A task is considered 50% complete when it
begins and 100% only when it is completed
 SPI < 1: Project is behind schedule - 20/80 Rule: A task is considered 20% complete when it
begins and 100% only when it is completed
- 0/100 Rule: A task does not get credit for partial
completion, only for full completion

Peter Müller – Software Engineering, SS 10 Peter Müller – Software Engineering, SS 10

You might also like