Estimating IT projects - Guest lecture University of Twente
Post on 17-Jan-2015
1239 Views
Preview:
DESCRIPTION
Transcript
Estimating IT projects Frank Vogelezang Manager Pricing Office
June 10th 2013
2 Agenda Estimating IT projects
What is estimating
How good is your estimate
The only certainty is uncertainty
Cost drivers for IT projects
Reliable estimation
What is estimating And why is estimating IT projects so difficult
IT has a bad track-record in project estimating What is estimating
4
For a critical analysis of the Chaos reports see: www.cs.vu.nl/~x/chaos
IT has a bad track-record in project estimating What is estimating
Any idea where this bad track-record comes from?
5
IT has a bad track-record in project estimating What is estimating
Any idea where this bad track-record comes from?
No clear project objective
Start with an inadequate budget
Too little time and/or resources
No use of benchmarking
No idea what an estimate is
6
We can double the estimate . . . . but then it will
ultimately be four
times as expensive!
on estimating
Definition of an estimate What is estimation
How would you define an estimate?
An estimate is
an analytical and unbiased prediction
of how long it takes
and what it will cost
The bias comes from the interplay with targets, commitments and plans
7
Target, estimate, commitment and plan What is estimation
Target
Desirable business objective
When and what
Estimate
Analytical prediction
With an uncertainty range
How and what
Commitment
Promise to deliver
Defined functionality and quality
What and when
Plan
Bridging the gap between estimate and commitment and mitigating the risk involved
When and how
8
A typical estimate What is estimation
9 P
rob
abili
ty
Schedule / Cost
50/50 median result
First likely option
A good estimate What is estimation
A good estimate is
a prediction
that provides a clear enough view
of the project reality
to allow the project leadership to make informed decisions
about how to control the project
to hit its targets.
Know where you come from, where you are and where you are going
10
Software Estimation: Demystifying the black art: www.SteveMcConnell.com
Basis of Estimate New standard practice by NESMA and AACEi
11
RE
CO
MM
EN
DE
D P
RA
CT
ICE
Estimation
purpose
Engagement
Scope
Description
Estimating
methodology
(FP, expert,
etc.)
Estimate
Classification
(1,2,3,4,5)
Design Basis
(Components
lists, units, etc.)
Sizing Basis
Requirements
Functional
technical
Effort Basis
delivery
constraints,
service levels
Planning Basis
Working time
standby
Cost Basis
methods and
sources , units
Assumptions
internal,
external
Allowances
Not in the Basis
Exclusions
No costs
included for…
Exceptions
anomalies or
variances on
standard
Risks and
Opportunities
assumptions
Containments
cost elements
for mitigation
Contingencies
Uncertainty,
unforeseeable
elements
Management
Reserve
changes in
scope, effort
Reconciliation
Changes to
previous
estimation
Benchmarking
Comparisons to
similar
engagements
Level of detail
Stage, Deal
size/type, fixed
price/TM
Estimate
Quality
Assurance
Reviews
Attachments Attachments Attachments Attachments
How good is your estimate A simple quiz with unexpected questions
A simple quiz How good is your estimate
The rules
You get 10 questions, about anything but IT
Answer each question with an upper and a lower boundary
The answer should be within these bounds with a 90% chance
The objective
To finish the quiz with 90% correct answers
So 9 answers to the questions are within the boundaries
13
A simple quiz How good is your estimate
1. What is the surface temperature of the sun in ºC
2. What was the total throughput of the Port of Rotterdam in 2012 in metric tons
3. World-wide box office receipts of the Lord of the Rings trilogy in US$
4. What is the total area of the Asian continent in km2
5. What is the year of birth of Alexander the Great according to Christian calender
6. The number of book titles in the Library of the Congress since 1776 in millions
7. How heavy was the heaviest blue whale ever recorded in metric tons
8. How many Euro bills were in circulation at the end of 2009 in billions
9. What is the highest point in the kingdom of the Netherlands in m
10.What is the total length of the coastline of the Pacific Ocean in km
14
Estimating psychology How good is your estimate
How well did you do this quiz?
The average score is around 3, in line with the CHAOS reports
We are conditioned to believe that narrow ranges are more accurate
We feel that wide ranges make us appear ignorant or incompetent
In real projects estimates are often biased by knowledge about the targets
15
Beating the estimating psychology How good is your estimate
If the objective is unclear, the answer cannot be precise
IT suppliers want to do customers a favour by promising they can deliver, although they have no idea whether it is realistic. Is that a favour?
There are no bad suppliers, but enough substandard customers*
16
* Joep Bröcker (KPN) : www.sogeti.nl/evenementen/2010/succesvol-aanbesteden-van-ict
The only certainty is uncertainty Most IT projects deliver something else than initially intended
Managing the devil’s triangle Balancing between cost, time and scope
Cost
18
Time
Scope or Quality
Risk
Managing the devil’s triangle Balancing between cost and time for a given size
19
Paul Masson’s Law
Parkinson’s Law
Brooks’ Law
Minimal time
Optimal effort
Time
Effo
rt /
Co
st
Realistic Productivity
The devil is in change Traditional fixed price, fixed date projects
Cost
20
Time
Scope or Quality
Risk
Risk
Risk
Risk
Let’s make room for change The uncertainty in agile projects
Cost
21
Time
Scope or Quality
Risk Doubt
Cost drivers for IT projects Sizing and estimating
Estimating IT projects Two essential routes
23
Objective
Size
Effort
Cost
24 Effort estimation Estimating IT projects
Sizing by analogy
Have we done something similar before?
25 Effort estimation Estimating IT projects
Ask the experts to estimate using Delphi techniques
Original Delphi:
Individual estimates | Distributed by a facilitator | Several rounds
Wideband Delphi:
Group discussion | Individual estimates | Consensus on large variation
Delphi – PERT:
Use Delphi to establish lower bound, higher bound and most likely value
Calculate the estimate by the formula (Lo + 4 * ML + Hi) / 6
26 Effort estimation Estimating IT projects
Ask the experts to estimate using Delphi techniques
Original Delphi:
Individual estimates | Distributed by a facilitator | Several rounds
Wideband Delphi:
Group discussion | Individual estimates | Consensus on large variation
Delphi – PERT:
Use Delphi to establish lower bound, higher bound and most likely value
Calculate the estimate by the formula (Lo + 4 * ML + Hi) / 6
Planning Poker:
Estimate effort to produce a work item, related to a standard work item
Use cards with a Fibonacci (like) scale to reflect uncertainty for larger items
Estimating IT projects The second route
27
Objective
Size
Effort
Cost
28 Size estimation Estimating IT projects
Sizing by proxy
Define repeatable elements
Experience data per proxy element
Technical elements: Lines of Code
Programs / Modules
Screens
Data files / Views
Interfaces
Logical elements: User Stories / Use Cases
Processes in the Data Flow Diagram
Functional Size Measurement
29 Size estimation Lines of Code
What does the number of lines tell me about size?
13 LoC – 1 statement
Backfiring
Translation to Functional Size
Uncertainty range over 300%
20 LoC – 3 statements
30 Size estimation Functional Size Measurement – Function Point Analysis
FPA stands for Function Point Analysis
What the software should be able to do (functionality) Function expressed in a number Point based on an objectively described method Analysis
Something intangible like functionality becomes a physical number that can be used for calculations
31 Size estimation Functional Size Measurement – Function Point Analysis
External Input
External Output
External Inquiry
External input files
Internal logical files
Data oriented
Size estimation Functional Size Measurement – Function Point Analysis
Counting function points
Based on established criteria each element is classified:
Each classification has its own scores Internal files 7 10 15 External interfaces 5 7 10 External input 3 4 6 External output 4 5 7 External inquiry 3 4 6
A function point never travels alone
32
Simple
Complex
33 Size estimation Functional Size Measurement – COSMIC
eXit
Write
Entry
Read
eXit
Read
Transaction oriented
Size estimation Functional Size Measurement – COSMIC
Counting COSMIC function points
Establish Functional Processes
Determine the data movements # Entries # Writes # Reads # eXits
Each data movement is scored Entry 1 CFP Write 1 CFP Read 1 CFP eXit 1 CFP
A data movement can be identified alone
34
Estimating IT projects The second route
35
Size
Effort
Cost
Objective
36 Translating size into effort Project size as a cost driver
Size Early On time Late Failed
10 FP 11% 81% 6% 2%
100 FP 6% 75% 12% 7%
1.000 FP 1% 61% 18% 20%
10.000 FP <1% 28% 24% 48%
100.000 FP - 14% 21% 65%
Capers Jones : Applied Software Measurement
37 Translating size into effort Team size as a cost driver
MORE PEOPLE MAKE MORE NOISE
Translating size into effort Team size as a cost driver
38
Paul Masson’s Law
Parkinson’s Law
Brooks’ Law
Minimal time
Optimal effort
Time
Effo
rt /
Co
st
Realistic Productivity
Translating size into effort What can you do with Functional Size
39
Translate functionality into a physical number that can be used to calculate:
Required amount of hours / cost
Schedule time
Basis for a fixed price (per unit) that is still variable
The calculation depends on the technology used (Java, eBS, . . .)
But it is not a linear calculation!
Twice the size in function points is not twice as much hours / cost / time
Translating size into effort How to manage all the relations
40
Reliable estimation How good do we know what we must do
Reliable estimation Case – Rebuild of Investment Fund Application
Case (1 page)
5 expert estimates (2 pages)
Estimation approach (1 page)
1. Are the estimates complete?
2. Are the assumptions correct?
3. How relevant and reliable are the estimates?
4. Question the experts!
5. Are the estimates comparable? By accident or by design?
6. Can approaches be used to reinforce other estimates?
Present the results of these steps
Present the results of the final estimate
42
43
frank.vogelezang@ordina.nl
WatKostIT.blogspot.nl
ThePriceofIT.blogspot.com
@FrankVogelezang
FrankVogelezang
www.linkedin.com/in/frankvogelezang
top related