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