43
Estimating IT projects Frank Vogelezang Manager Pricing Office June 10 th 2013

Estimating IT projects - Guest lecture University of Twente

Embed Size (px)

DESCRIPTION

I have given a guest lecture on estimating IT project for master students on the University of Twente.

Citation preview

Page 1: Estimating IT projects - Guest lecture University of Twente

Estimating IT projects Frank Vogelezang Manager Pricing Office

June 10th 2013

Page 2: Estimating IT projects - Guest lecture University of Twente

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

Page 3: Estimating IT projects - Guest lecture University of Twente

What is estimating And why is estimating IT projects so difficult

Page 4: Estimating IT projects - Guest lecture University of Twente

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

Page 5: Estimating IT projects - Guest lecture University of Twente

IT has a bad track-record in project estimating What is estimating

Any idea where this bad track-record comes from?

5

Page 6: Estimating IT projects - Guest lecture University of Twente

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

Page 7: Estimating IT projects - Guest lecture University of Twente

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: Estimating IT projects - Guest lecture University of Twente

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: Estimating IT projects - Guest lecture University of Twente

A typical estimate What is estimation

9 P

rob

abili

ty

Schedule / Cost

50/50 median result

First likely option

Page 10: Estimating IT projects - Guest lecture University of Twente

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

Page 11: Estimating IT projects - Guest lecture University of Twente

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

Page 12: Estimating IT projects - Guest lecture University of Twente

How good is your estimate A simple quiz with unexpected questions

Page 13: Estimating IT projects - Guest lecture University of Twente

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

Page 14: Estimating IT projects - Guest lecture University of Twente

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

Page 15: Estimating IT projects - Guest lecture University of Twente

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

Page 16: Estimating IT projects - Guest lecture University of Twente

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

Page 17: Estimating IT projects - Guest lecture University of Twente

The only certainty is uncertainty Most IT projects deliver something else than initially intended

Page 18: Estimating IT projects - Guest lecture University of Twente

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

Cost

18

Time

Scope or Quality

Risk

Page 19: Estimating IT projects - Guest lecture University of Twente

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

Page 20: Estimating IT projects - Guest lecture University of Twente

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

Cost

20

Time

Scope or Quality

Risk

Risk

Risk

Risk

Page 21: Estimating IT projects - Guest lecture University of Twente

Let’s make room for change The uncertainty in agile projects

Cost

21

Time

Scope or Quality

Risk Doubt

Page 22: Estimating IT projects - Guest lecture University of Twente

Cost drivers for IT projects Sizing and estimating

Page 23: Estimating IT projects - Guest lecture University of Twente

Estimating IT projects Two essential routes

23

Objective

Size

Effort

Cost

Page 24: Estimating IT projects - Guest lecture University of Twente

24 Effort estimation Estimating IT projects

Sizing by analogy

Have we done something similar before?

Page 25: Estimating IT projects - Guest lecture University of Twente

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

Page 26: Estimating IT projects - Guest lecture University of Twente

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

Page 27: Estimating IT projects - Guest lecture University of Twente

Estimating IT projects The second route

27

Objective

Size

Effort

Cost

Page 28: Estimating IT projects - Guest lecture University of Twente

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

Page 29: Estimating IT projects - Guest lecture University of Twente

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

Page 30: Estimating IT projects - Guest lecture University of Twente

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

Page 31: Estimating IT projects - Guest lecture University of Twente

31 Size estimation Functional Size Measurement – Function Point Analysis

External Input

External Output

External Inquiry

External input files

Internal logical files

Data oriented

Page 32: Estimating IT projects - Guest lecture University of Twente

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

Page 33: Estimating IT projects - Guest lecture University of Twente

33 Size estimation Functional Size Measurement – COSMIC

eXit

Write

Entry

Read

eXit

Read

Transaction oriented

Page 34: Estimating IT projects - Guest lecture University of Twente

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

Page 35: Estimating IT projects - Guest lecture University of Twente

Estimating IT projects The second route

35

Size

Effort

Cost

Objective

Page 36: Estimating IT projects - Guest lecture University of Twente

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

Page 37: Estimating IT projects - Guest lecture University of Twente

37 Translating size into effort Team size as a cost driver

MORE PEOPLE MAKE MORE NOISE

Page 38: Estimating IT projects - Guest lecture University of Twente

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

Page 39: Estimating IT projects - Guest lecture University of Twente

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

Page 40: Estimating IT projects - Guest lecture University of Twente

Translating size into effort How to manage all the relations

40

Page 41: Estimating IT projects - Guest lecture University of Twente

Reliable estimation How good do we know what we must do

Page 42: Estimating IT projects - Guest lecture University of Twente

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

Page 43: Estimating IT projects - Guest lecture University of Twente

43

[email protected]

WatKostIT.blogspot.nl

ThePriceofIT.blogspot.com

@FrankVogelezang

FrankVogelezang

www.linkedin.com/in/frankvogelezang