33
Software Project Estimation Frank Vogelezang Manager Pricing Office

Software Project Estimation

Embed Size (px)

Citation preview

Page 1: Software Project Estimation

Software Project Estimation Frank Vogelezang Manager Pricing Office

Page 2: Software Project Estimation

2 Agenda Software Project Estimation

What is Software Project Estimation

Two ways to do it right

Universal principles of Software Project Estimation

Page 3: 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

Page 4: Software Project Estimation

What is Software Project Estimation And why is estimating IT projects so difficult

Page 5: Software Project Estimation

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

Page 6: Software Project Estimation

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

Page 7: Software Project Estimation

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

Page 8: Software Project Estimation

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

Page 9: Software Project Estimation

A typical software project

A typical project What will it cost and How long will it take

Page 10: Software Project Estimation

What is “iT”

HOW BiG is “iT”

HAVE WE DONE “iT” BEFORE

WHO ARE GOING to dO “iT”

Page 11: Software Project Estimation

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

Page 12: Software Project Estimation

A typical software estimate What is Software Project Estimation

12 P

rob

abili

ty

Schedule / Cost

50/50 median result

First likely option

Page 13: Software Project Estimation

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

Page 14: Software Project Estimation

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

Page 15: Software Project Estimation

Software Project Estimation Two ways to do it right

Page 16: Software Project Estimation

Software Project Estimation Two essential routes

16

Objective

Size

Effort

Cost

Page 17: Software Project Estimation

17 Effort estimation Software Project Estimation

Sizing by analogy

Have we done something similar before?

Page 18: Software Project Estimation

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

Page 19: Software Project Estimation

Software Project Estimation The second route

19

Objective

Size

Effort

Cost

Estimating &

Benchmarking

Page 20: Software Project Estimation

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

Page 21: Software Project Estimation

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

Page 22: Software Project Estimation

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

Page 23: Software Project Estimation

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

Page 24: Software Project Estimation

Software Project Estimation Some universal principles

Page 25: Software Project Estimation

Managing the devil’s triangle Balancing between cost, time and scope

Cost

25

Time

Scope

Risk

Page 26: Software Project Estimation

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

Page 27: Software Project Estimation

The devil is in change Traditional fixed price, fixed date projects

Cost

27

Time

Scope

Page 28: Software Project Estimation

Let’s make room for change Let’s chain cost and time and see what happens

Cost

28

Time

Scope

Page 29: Software Project Estimation

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

Page 30: Software Project Estimation

30 Managing the devil’s triangle Team size matters

MORE PEOPLE MAKE MORE NOISE

Page 31: Software Project Estimation

A small bonus assignment See if you can

Page 32: Software Project Estimation

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

Page 33: Software Project Estimation

33

[email protected]

@FrankVogelezang

FrankVogelezang

www.linkedin.com/in/frankvogelezang

Frank Vogelezang