Upload
frank-vogelezang
View
97
Download
0
Tags:
Embed Size (px)
Citation preview
Software Project Estimation Frank Vogelezang Manager Pricing Office
2 Agenda Software Project Estimation
What is Software Project Estimation
Two ways to do it right
Universal principles of Software Project Estimation
3 Who is @FrankVogelezang
Ordina - System Integrator - Netherlands, Belgium, Luxemburg - close to 3,000 employees - Manager Pricing Office www.ordina.com
COSMIC - Functional Size Measurement - 27 countries - Open Source - President & Measurement Practices www.cosmic-sizing.org
Nesma - Software Metrics Association - Based in the Netherlands - About 80 member organisations - Counting Practices Committee www.nesma.org
IWSM - International Conference - In 7 countries since 1991 - Academics and Industry - Conference Chair 2014 www.iwsm-mensura.org - Over 20 publications
www.researchgate.net
What is Software Project Estimation And why is estimating IT projects so difficult
IT has a bad track-record in project estimating What is estimating
5
For a critical analysis of the Chaos reports see: www.cs.vu.nl/~x/chaos
IT has a bad track-record in software project estimation What is Software Project Estimation
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 software project
A typical project What will it cost and How long will it take
What is “iT”
HOW BiG is “iT”
HAVE WE DONE “iT” BEFORE
WHO ARE GOING to dO “iT”
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*
11
* Joep Bröcker (KPN) : www.sogeti.nl/evenementen/2010/succesvol-aanbesteden-van-ict
A typical software estimate What is Software Project Estimation
12 P
rob
abili
ty
Schedule / Cost
50/50 median result
First likely option
A good estimate What is Software Project 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
13
Software Estimation: Demystifying the black art: www.SteveMcConnell.com
Mitigation
Risk
Basis
General aspects
Basis of Estimate New recommended practice standard by AACEi and
14
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
Software Project Estimation Two ways to do it right
Software Project Estimation Two essential routes
16
Objective
Size
Effort
Cost
17 Effort estimation Software Project Estimation
Sizing by analogy
Have we done something similar before?
18 Effort estimation Software Project Estimation
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
Software Project Estimation The second route
19
Objective
Size
Effort
Cost
Estimating &
Benchmarking
20 Size estimation Software Project Estimation
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
21 Size estimation Functional Size Measurement
What the software should be able to do (functionality) Functional expressed in a number Size based on an objectively described method Measurement
ISO/IEC 14143
Something intangible like functionality becomes a physical number that can be used for calculations
ISO/IEC 19761:2011 ISO/IEC 24570:2005 ISO/IEC 20926:2009 ISO/IEC 29881:2008 cosmic-sizing.org nesma.org ifpug.org fisma.fi
22 Size estimation Functional Size Measurement – COSMIC
Per Functional Processes
Data movements # Entries # Writes # Reads # eXits
Each data movement is scored Entry 1 CFP Write 1 CFP Read 1 CFP eXit 1 CFP
Single data movements can be identified
Translating size into effort What can you do with Functional Size
23
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
Software Project Estimation Some universal principles
Managing the devil’s triangle Balancing between cost, time and scope
Cost
25
Time
Scope
Risk
Managing the devil’s triangle Balancing between cost and time for a given size
26
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
27
Time
Scope
Let’s make room for change Let’s chain cost and time and see what happens
Cost
28
Time
Scope
29 Managing the devil’s triangle Project size matters
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
30 Managing the devil’s triangle Team size matters
MORE PEOPLE MAKE MORE NOISE
A small bonus assignment See if you can
Software Project 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
32
33
@FrankVogelezang
FrankVogelezang
www.linkedin.com/in/frankvogelezang
Frank Vogelezang