+ All Categories
Home > Technology > Estimating in Software Development: No Silver Bullets Allowed

Estimating in Software Development: No Silver Bullets Allowed

Date post: 13-Jul-2015
Category:
Upload: techwellpresentations
View: 131 times
Download: 2 times
Share this document with a friend
Popular Tags:
35
BT9 Concurrent Session 11/8/2012 3:45 PM "Estimating in Software Development: No Silver Bullets Allowed" Presented by: Kent McDonald Knowledge Bridge Partners Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 8882688770 9042780524 [email protected] www.sqe.com
Transcript

 

    

BT9 Concurrent Session 11/8/2012 3:45 PM 

       

"Estimating in Software Development: No Silver Bullets Allowed"

   

Presented by:

Kent McDonald Knowledge Bridge Partners

        

Brought to you by:  

  

340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com

Kent McDonald Knowledge Bridge Partners

Kent McDonald is an author, speaker, and coach who helps organizations improve the effectiveness of their projects. Kent’s more than fifteen years of experience include work in business analysis, strategic planning, project management, and product development in a variety of industries including financial services, health insurance, performance marketing, human services, nonprofit, and automotive. The co-author of Stand Back and Deliver: Accelerating Business Agility, Kent currently delivers business analysis training for B2T Training and shares his thoughts on raising the level of business analysis at BeyondRequirements.com

11/8/2012

1

Estimating in Software Development:

No Silver Bullets Allowed

Kent J. McDonald

@beyondreqs

Disclaimer

11/8/2012

2

A Familiar Situation?

Issues with Estimating

Estimating Techniques

Don’t worry, we’ll get to these…

11/8/2012

3

Has this ever happened to you? How long will it take to build the

commission system?

I just found out about it this

morning, so I’ll need to do some analysis .

Ok, great. The Sales VP promised an estimate to the

CEO next Monday. It better be right.

Issues with Estimating

Initial Uncertainty Accuracy/Effort Tradeoff

False Precision Differing Skill Levels

11/8/2012

4

Initial Uncertainty

Cone of Uncertainty

11/8/2012

5

Cone of Uncertainty a Practical Use

Hurricane Sandy – Actual Path

11/8/2012

6

Accuracy/Effort Tradeoff

Point of Diminishing Returns

11/8/2012

7

False Precision

How precise do you have to be?

How long, and how much?

Approximately 374 days and

$2,548,931.27.

11/8/2012

8

Differing skill levels

People finish tasks at different speeds

11/8/2012

9

Estimating Techniques

Guestimate Break it down, add it up

Relative Estimating

Guestimate

11/8/2012

10

Aka “Gut Feel” or “Ball Park”

How long, and how much? About a year and

$2.5 million.

Comparison to Past Projects

$1,000 $100K $10M ??

$1M

11/8/2012

11

Your turn…

Want to create an online application for Mortgage Insurance

How long to deliver the online application for Mortgage Insurance?

A ballpark answer is sufficient.

11/8/2012

12

Does it address our issues?

Initial Uncertainty Accuracy/Effort Tradeoff

False Precision Differing Skill Levels

When to use it

11/8/2012

13

Break it down Add it up

Break overall effort into bits

11/8/2012

14

Assign factor to each small bit

Tasks Time Factor (hour/bit)

# of bits

Total Time (hours)

Interfaces

GUI - Simple 8

GUI - Medium 16

GUI - Hard 24

System Interface - Simple 12

System Interface - Complex 30

Total Interfaces

Processes

Simple Process 16

Medium Process 32

Complex Process 48

Total Processes

Where do we come up with the factors?

11/8/2012

15

This is where time cards may be useful…

Know ahead of time what you want to track

Build up information over time

Often requires excruciating detail in time collection.

Identify How Many Bits

Tasks Time Factor (hour/bit)

# of bits

Total Time (hours)

Interfaces

GUI - Simple 8 3

GUI - Medium 16 2

GUI - Hard 24 1

System Interface - Simple 12 3

System Interface - Complex 30 2

Total Interfaces 11

Processes

Simple Process 16 5

Medium Process 32 4

Complex Process 48 3

Total Processes 12

11/8/2012

16

Do the math to get an estimate

Tasks Time Factor (hour/bit)

# of bits

Total Time (hours)

Interfaces

GUI - Simple 8 3 24

GUI - Medium 16 2 32

GUI - Hard 24 1 24

System Interface - Simple 12 3 36

System Interface - Complex 30 2 60

Total Interfaces 11 176

Processes

Simple Process 16 5 80

Medium Process 32 4 128

Complex Process 48 3 144

Total Processes 12 352

This gives us development hours

11/8/2012

17

What about analysis & testing &…

Percentage of development hours

Estimate tasks separately

You mean we have to estimate analysis & testing?

Data Warehouse Example

Adding a new source to data warehouse

Count of sources

Count of tables/source

Count of elements/table

Considerations of complexity

11/8/2012

18

Data Warehouse Example

1. Gather all the info

2. Plug it into a spreadsheet

3. Look at the resulting (realistic but “too high”) number

4. Revise…

Your turn…

Want to create an online application for Mortgage Insurance

How long to deliver the online application for Mortgage Insurance?

Identify how you would break this down to estimate

11/8/2012

19

Of Course there’s always Function Points…

11/8/2012

20

Or, you could always add up tasks

Does it address our issues?

Initial Uncertainty Accuracy/Effort Tradeoff

False Precision Differing Skill Levels

11/8/2012

21

When to use it

Another Look - Decomposition

11/8/2012

22

Calibrated Estimates in Ranges

Manage Tracks

Moderate Content

Manage Deadlines

Manage Venue

1 – 2 Days 3 – 5 Days 1 – 2 Days

Build Program

4 – 6 Days .5 – 1 Days

9.5 – 16 Days @ $100/hour & 8 hours/day

$7,600 – $12,800

Note, Entire team calibrated and involved in determining these estimates.

For More information

How to Measure Anything: Finding the Value of Intangibles in Business

by

Douglas W. Hubbard

HowToMeasureAnything.com

11/8/2012

23

Where it Helps

Initial Uncertainty Accuracy/Effort Tradeoff

False Precision Differing Skill Levels

Relative Estimating

11/8/2012

24

Ah ha! Here’s the poker connection!

Discuss (briefly) the item to estimate

As an Event Organizer I want to know how audience members vote by athlete by gender So That I can determine if men and women vote differently.

11/8/2012

25

The Delphi Technique

Everyone selects an estimate

11/8/2012

26

Estimating Scales

(Modified) Fibonacci Sequence:

0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 80, 100

Using a regular deck of cards:

A, 2, 3, 5, 8, King

Team Member Hands:

1 – 5

Leonardo Pisano Bigollo aka Fibonacci Italian Mathematician

Reveal estimates all at once

11/8/2012

27

So why did you pick a king?

Discuss outliers

I wasn’t sure we knew how to tell an audience member’s gender.

And how about the two aces?

Well, we changed the voting machines to ask gender during

sign in last iteration, so it should be easy

Yeah, what she said.

Repeat until convergence

11/8/2012

28

Assumptions: 2 week iterations Overall backlog size: 600 points Planning Velocity: 30 5 Person Team Avg Cost/person/wk: $4,000

Extrapolate based on Velocity

Estimate: $800,000

Your turn…

Determine relative sizes of these various features using the scale 1,2,3,4,5

Based on this feature being sized an 1.

11/8/2012

29

Does it address our issues?

Initial Uncertainty Accuracy/Effort Tradeoff

False Precision Differing Skill Levels

11/8/2012

30

When to use it

An Alternative to Planning Poker

User Story

User Story

User Story User Story

User Story

User Story

User Story User Story

User Story

User Story

User Story

User Story

1 2 5 3 8

11/8/2012

31

How should we approach estimating for a project?

Phase Based Guestimate

Break it down add

it up

Set expectation for revisions

Calibrated Estimates

11/8/2012

32

Agile Comparison

to past projects Extrapolate

from Velocity

Set expectation for revisions

Calibrated Estimates

If you remember nothing else

Initial uncertainty means you will not be accurate.

Don’t spend more effort than it’s worth.

Don’t imply more precision than is possible.

Incorporate multiple perspectives.


Recommended