ESTIMATION A Science, Not an Art? 5-13-2015 John Nollin Director - - PowerPoint PPT Presentation

estimation
SMART_READER_LITE
LIVE PREVIEW

ESTIMATION A Science, Not an Art? 5-13-2015 John Nollin Director - - PowerPoint PPT Presentation

ESTIMATION A Science, Not an Art? 5-13-2015 John Nollin Director of Opera3ons Project Management, Process, Es3ma3on, Tools Chicago, IL. 2 The typical software organization is not


slide-1
SLIDE 1

A Science, Not an Art?

ESTIMATION

5-­‑13-­‑2015

slide-2
SLIDE 2

John Nollin

2

  • Director ¡of ¡Opera3ons
  • Project ¡Management, ¡

Process, ¡Es3ma3on, ¡ Tools

  • Chicago, ¡IL.
slide-3
SLIDE 3

“The typical software organization is not struggling to improve its estimates from +-10% to +-5%

  • accuracy. The typical software organization is struggling to avoid estimates that are incorrect by

100% or more.” -- Steve McConnell What ¡is ¡this ¡presenta,on ¡about?

3

What ¡is ¡the ¡presenta,on ¡NOT ¡about?

  • Fundamentals ¡(overlooked)
  • Big ¡Risk ¡factors
  • Selling ¡your ¡es3mate ¡(Team) ¡
  • 20%-­‑100% ¡over ¡budget
  • Specific ¡es3mates ¡(content ¡type)
  • Magical ¡formulas
  • Fine ¡tuning ¡error ¡from ¡20% ¡to ¡5%
  • Selling ¡your ¡es3mate ¡(client)
slide-4
SLIDE 4

4

Agenda

What is the Problem with Software Estimation? 1 2 3 Avoiding Risk Estimation Techniques

slide-5
SLIDE 5

What is the Problem with Software Estimation?

5

slide-6
SLIDE 6

The greatest discrepancy between what the client thinks, an executive thinks, and a developer thinks is often the definition of ESTIMATE

6

slide-7
SLIDE 7

7

Estimates, Targets, and Commitments

1

Estimates

Predic'on

  • A ¡Predic'on ¡of ¡how ¡

long ¡a ¡project ¡will ¡ take ¡or ¡how ¡much ¡it ¡ will ¡cost 2

Targets

Statement/Desire

  • A ¡Statement ¡of ¡a ¡

desirable ¡business ¡

  • bjec3ve

3

Commitments

Promise

  • A ¡Promise ¡to ¡deliver ¡

defined ¡ func3onality ¡at ¡a ¡ specific ¡level ¡of ¡ quality ¡and ¡by ¡a ¡ certain ¡date

slide-8
SLIDE 8

8

Estimates, Targets, and Commitments

2 3 Target Commitment Estimate 1 Cut From Phase

slide-9
SLIDE 9

Your best developer is not necessarily your best estimator

9

slide-10
SLIDE 10

10

The Solution Architect

About ¡your ¡unicorn:

  • Knows ¡the ¡most ¡about ¡

Drupal

  • Experience ¡in

Ecommerce Migra3on Integra3on Site ¡building ¡& ¡Theming

  • Understands ¡business ¡value
  • Can ¡magically ¡debug ¡

anything

Things ¡that ¡may ¡be ¡missing:

How ¡fast ¡can ¡a ¡DEVELOPER ¡do ¡the ¡work? How ¡much ¡3me ¡will ¡be ¡spent ¡training, ¡instruc3ng, ¡ reviewing, ¡and ¡doing ¡oversight? Avoiding ¡unfounded ¡op3mism

slide-11
SLIDE 11

What is the definition of a “GOOD” estimate?

11

slide-12
SLIDE 12

90% confidence

12

A"er ¡all, ¡the ¡process ¡is ¡called ¡ Es2ma2on, ¡not ¡Exac2ma2on.

  • ­‑ ¡Phillip ¡Armour

What ¡is ¡the ¡surface ¡temperature ¡of ¡the ¡ Sun? ¡ ¡(Give ¡a ¡range ¡in ¡Fahrenheit) ¡ Make ¡your ¡range ¡wide ¡enough ¡ that ¡you ¡feel ¡you ¡are ¡90% ¡confident that ¡your ¡range ¡includes ¡the ¡answer 10,000 ¡Degrees ¡F

slide-13
SLIDE 13

90% confidence

13

How ¡confident ¡is ¡90% ¡confident? The ¡average ¡number ¡of ¡correct ¡ answers ¡was ¡2.8. ¡ ¡Only ¡2% ¡of ¡quiz takers ¡scored ¡8 ¡or ¡more ¡correctly. Most ¡peoples ¡intui've ¡sense

  • f ¡90% ¡confidence ¡is ¡in ¡fact ¡

closer ¡to ¡30% ¡confidence.

slide-14
SLIDE 14

Software is not developed in a vacuum

14

slide-15
SLIDE 15

15

EXTERNAL FACTORS ARE OFTEN UNACCOUNTED FOR

LESS ¡EXPERIENCED ¡ STAFF ¡ STAFF ¡NOT ¡READY REQUIREMENTS ¡ REMOVED STAFF ¡DIVERTED ¡TO ¡ SUPPORT ¡OLD ¡ PROJECT UNSTABLE ¡ FUNCTIONALITY ¡ REMOVED SERVER ¡NOT ¡READY STAFF ¡DIVERTED ¡ TO ¡SUPPORT ¡ TRADE ¡SHOW REQUIREMENTS ¡ ADDED

slide-16
SLIDE 16

16

Events that happen during the project nearly always invalidate the assumptions that were used to estimate the project in the first place.

1

Functional Assumptions

2

Staffing Assumptions

3

Priority Assumptions

4

Input Assumptions

slide-17
SLIDE 17

Software estimation is not just about adding up the sum of the parts

17

slide-18
SLIDE 18

18

Project

Dynamics

The ¡ac'vi'es ¡of ¡a ¡late ¡or ¡compressed ¡ project ¡create ¡destruc've ¡“late-­‑ project” ¡dynamics ¡that ¡make ¡the ¡ project ¡even ¡WORSE ¡than ¡nominal.

More ¡ Status ¡ Mee3ngs Frequent ¡Re-­‑ es3ma3on Apologizing ¡to ¡ key ¡customers Preparing ¡ interim ¡ releases More ¡ discussion ¡on ¡ priority ¡& ¡ requirements Fixing ¡ problems ¡that ¡ arise ¡from ¡ quick ¡and ¡ dirty ¡ workarounds Going ¡back ¡to ¡ the ¡contract

slide-19
SLIDE 19

19

Results

slide-20
SLIDE 20

Results

Timelines Budgets

20

slide-21
SLIDE 21

Results

Costs

21

slide-22
SLIDE 22

“Software does not have a neutral estimation problem. The industry data shows clearly that the software industry has an underestimation problem.”

  • - Steve McConnell

22

slide-23
SLIDE 23

When given the option of a shorter average schedule with higher variability or a longer average schedule with lower variability, 8 out of 10 executives will choose the second option

23

slide-24
SLIDE 24

24

Avoiding Risk

slide-25
SLIDE 25

Major Areas of Risk

25

P r

  • j

e c t ¡ I n f

  • What kind of content

type/field/thing

  • Scope w/o specs
  • Specific definitions

O m i 7 e d ¡ A c : v i t y

  • Setup Costs
  • Management Costs
  • Other (non-dev)

Costs

  • Est. ¡Process
  • 90% confidence
  • Best Estimator
  • Terminology
  • External Factors

Project ¡Chaos

  • Lack of end-user

involvement or production owner

  • Timeline
  • Poor wires/design
slide-26
SLIDE 26

Consider your project’s current position within the cone of uncertainty, this will help you gauge the level of accuracy in your estimate.

26

slide-27
SLIDE 27

27

The Cone of Uncertainty

Ini,al ¡Product ¡ Concept ¡

“I ¡want ¡a ¡website”

Product ¡ Defini,on

“I ¡know ¡the ¡scope ¡of ¡ services”

Requirements ¡ Complete

“I ¡know ¡the ¡specs ¡

  • f ¡the ¡project”

User ¡Interface ¡ Design ¡ Complete

“I ¡have ¡ wireframes”

Detailed ¡Design ¡ Complete

“I ¡have ¡full ¡ documented ¡specs ¡ and ¡design ¡files”

slide-28
SLIDE 28

Leverage the power of well defined products to move your way through the cone of uncertainty

28

slide-29
SLIDE 29

29

Products

Training ¡ Workshops

Drupal ¡Concept ¡Educa3on ¡as ¡ an ¡entry ¡into ¡the ¡product ¡ Discovery ¡Process

Discovery

Technical ¡and ¡UI/UX ¡planning ¡ for ¡a ¡large ¡scale ¡development ¡ projects Evalua3on ¡of ¡the ¡inner ¡ workings ¡of ¡a ¡current ¡ Drupal ¡site, ¡for ¡upgrade ¡ and ¡migra3on ¡planning

Audits

slide-30
SLIDE 30

Know when you are in a chaos project and how to reset

30

slide-31
SLIDE 31

Chaos Projects

How ¡does ¡BAD ¡go ¡to ¡TERRIBLE?

31

External ¡ Factors Re-­‑es,ma,on ¡

  • r ¡Planning

Poor ¡Project ¡ Dynamics Pure ¡Chaos

“Chaos projects introduce variability for each following step. The answer is not to continue to re-estimate but instead address each issue through project control.”

slide-32
SLIDE 32

NEVER, let your estimator forget (or your sales team remove) these important activities

32

slide-33
SLIDE 33

Omitted Activities

33

Management

  • Stand ¡ups, ¡Contract ¡review, ¡Training, ¡QA ¡review
  • Engagement ¡Management, ¡Staffing, ¡Governance

Maintenance

  • Updates, ¡Upgrades, ¡Deployments, ¡Performance
  • Configura3on, ¡Automa3on, ¡Reviews

Setup

  • Setup, ¡Installa3on, ¡Downloads, ¡Builds ¡
  • Ramp-­‑up, ¡Kickoff, ¡Onboarding, ¡Accoun3ng

Non-­‑soMware

  • Vaca3on, ¡Holiday, ¡Sick, ¡Drupalcon
  • Outages, ¡Troubleshoo3ng, ¡Worksta3ons
slide-34
SLIDE 34

Don’t overcomplicate your “science”. Use few factors and simple formulas over complex.

34

slide-35
SLIDE 35

Overcomplicating Estimates

35

Many ¡Factorial ¡Adjustments

4x .25x

Few ¡Factorial ¡Adjustments

4x .25x

slide-36
SLIDE 36

36

Estimation Techniques

slide-37
SLIDE 37

Estimating “Things”

37

Lets ¡assume ¡that ¡you ¡are ¡all ¡ expert ¡es2mators ¡and ¡that ¡all ¡the ¡ process ¡and ¡risk ¡areas ¡we ¡have ¡ spoken ¡today ¡you ¡know ¡ PERFECTLY ¡how ¡to ¡avoid. ¡

How ¡many ¡people ¡are ¡in ¡this ¡room ¡ right ¡now?

slide-38
SLIDE 38

38

APPROACHES TO ESTIMATING “THINGS”

The ¡Hobbyist “I’m ¡guessing ¡ 75 ¡people” The ¡Factor ¡ Guy “15 ¡rows ¡5 ¡ ¡ ¡ ¡ per ¡row” The ¡Percentage ¡ Guy “150 ¡person ¡ capacity ¡and ¡its ¡ half ¡full” The ¡Data ¡Guy “The ¡last ¡3 ¡ sessions ¡have ¡ had ¡XX” Judgement Count Compute Calibra,on

slide-39
SLIDE 39

Count, Compute, Judge

39

Count ¡if ¡at ¡all ¡possible. ¡ ¡Compute ¡ when ¡you ¡can’t ¡count. ¡Use ¡ Judgement ¡alone ¡only as ¡a ¡last ¡resort.

COUNT ¡(& ¡Calibrate) Find ¡something ¡to ¡count ¡that ¡has ¡a ¡direct ¡ correla3on ¡to ¡what ¡you ¡are ¡building

1

COMPUTE Mul3ply ¡by ¡a ¡sta3s3cally ¡ meaningful ¡(proven) ¡average

2

JUDGE Only ¡make ¡assump3ons ¡ as ¡a ¡final ¡op3on ¡(document)

3

slide-40
SLIDE 40

40

Common Items in these areas

1 2 3

Count/Calibrate Compute Judge

Site ¡Specs

Content ¡types Taxonomies Menus Views Wireframes Designs Migra3on “features”

Non-­‑build ¡items

QA Deployment Project ¡Management Training Governance Engagement ¡Management

Adjustment ¡Factors

Risk ¡Mul3pliers Con3ngency Unknown

slide-41
SLIDE 41

41

Count & Calibrate

1) ¡Determine ¡an ¡item ¡that’s ¡ highly ¡correlated ¡with ¡the ¡ size ¡of ¡the ¡soTware 2) ¡COUNT ¡how ¡many ¡you ¡ have 3) ¡CALIBRATE ¡your ¡count ¡ with ¡data ¡from ¡

  • ­‑ ¡Industry ¡Data
  • ­‑ ¡Historical ¡Data
  • ­‑ ¡ ¡Project ¡Data

Factor Factor Count Calibration Gross Estimate # Content Types 8 4 32

How many hours for feature “X”?

slide-42
SLIDE 42

42

Compute

1) ¡Determine ¡a ¡defined ¡ value ¡to ¡base ¡your ¡ computa'on 2) ¡Determine ¡a ¡mul'plier ¡ that ¡is ¡a ¡sta's'cally ¡ meaningful ¡average 3) ¡COMPUTE ¡subtotal ¡for ¡ your ¡line ¡item ¡

Development Subtotal 1200 Hours

Subtotal PM % PM SubTotal 1200 20% 240

How many hours for Project Management?

slide-43
SLIDE 43

43

Judgement

1) ¡JUDGE ¡the ¡ra'ng ¡of ¡a ¡ specific ¡mul'plier ¡(factor) 2) ¡Apply ¡mul'pliers ¡based ¡

  • n ¡ra'ng ¡of ¡your ¡es'mate

3) ¡Determine ¡factors ¡ influence ¡on ¡the ¡total ¡ project ¡ 4) ¡COMPUTE

Site Build PM % Gross Estimate Rating Influence Net Estimate 1200 240 1,440 Low = 1.25 1.1 1,980 Site Building Definition 2.0 1.25 1.0 .95 .85 .75 1.1

slide-44
SLIDE 44

44

Judgement

Cocomo ¡II

  • ­‑ ¡17 ¡effort ¡mul'pliers
  • ­‑ ¡5 ¡scaling ¡factors

These ¡are ¡oTen ¡applied ¡to ¡ project ¡subtotals You ¡can ¡create ¡your ¡own ¡ mul'pliers ¡based ¡on ¡your ¡ historical ¡data

Site Building Definition 2.0 1.25 1.0 .95 .85 .75 1.1

slide-45
SLIDE 45

Overcoming Judgement

45

Judgement ¡is ¡the ¡most ¡ hazardous ¡kind ¡of ¡es2ma2on due ¡to ¡subjecEvity ¡and unfounded ¡opEmism.

Magnitude ¡of ¡Rela/ve ¡Error MRE ¡= ¡(Actual ¡Result ¡-­‑ ¡Es>mated) ¡/ ¡(Actual) Expected ¡Case EC ¡= ¡(Best ¡Case ¡+ ¡(3 ¡x ¡Most ¡Likely ¡Case) ¡+ ¡(2 ¡x ¡Worst ¡Case)) ¡/ ¡6

slide-46
SLIDE 46

To Learn More...

46

Solware ¡Es3ma3on: ¡ ¡ Demys'fying ¡the ¡Black ¡ Art Steve ¡McConnell

slide-47
SLIDE 47

Thank You

47

CHICAGO, ILLINOIS

1802 W. Berteau Ave. / Suite 209 / Chicago IL, 60613 773-525-8255

D.O / Twitter

Jsnoles49

Email:

John@PrometSource.com John.Nollin@gmail.com