Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling...

69
Modeling, Simulation & Data Mining: Answering Tough Cost, Date & Staff Forecasts Questions Troy Magennis (Focused Objective) Larry Maccerone (Rally)

Transcript of Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling...

Page 1: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Modeling, Simulation & Data Mining: Answering Tough Cost, Date

& Staff Forecasts Questions

Troy Magennis (Focused Objective)

Larry Maccerone (Rally)

Page 2: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Pain Point

My Boss “Needs” A Date…

Page 3: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Difficulty Supporting

Decisions with Quantitative

Evidence

Page 4: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Difficulty in Assessing &

Communicating Risk / Uncertainty

Page 5: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Arm my teams (and yours) with the tools and techniques

to solve these problems

My Mission

Page 6: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Demo’s

1. Forecasting date & cost of a new project

2. Effective mining and modeling historical data

3. Finding the few valuable & needed estimates

4. Determining the cost of defects & added scope

5. Finding project staffing options and impact

6. Cost/benefit of various outsourcing models

7. Modeling and communicating risk factors

Page 7: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the
Page 8: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

2 Minutes About Larry

• [some ideas: Experience history, Rally, Passion for better visibility into metrics, and mention your thesis (although we cover this specifically later) – Segway into your first topic]

Page 9: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Flaw of Averages, Risk & Monte Carlo Sim

Page 10: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the
Page 11: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

A model is a tool used to mimic a

real world process

A tool for low-cost experimentation

Page 12: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Monte Carlo Simulation

Monte Carlo Simulation?

Performing a simulation of a model multiple times using

random input conditions and recording the frequency of

each result occurrence

Page 13: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Scrum

Backlog This Iteration Deployed

2 5

8

Run Sim Total Iterations

1 3

2 2

3 5

4 3

5 4

6 2

… …

Page 14: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Kanban

Backlog Design Develop Test Deployed

2

1 – 2 days 1 – 5 days 1 – 2 days

Run Time Total

1 5

2 4

3 3

4 9

5 5

6 6

… …

Page 15: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Result versus Frequency (50 runs)

More Often

Less Often Result Values – For example, Days

15 10 20

Fre

qu

en

cy o

f R

esu

lt

1

5

10

15

20

25

Page 16: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Result versus Frequency (250 runs)

More Often

Less Often Result Values – For example, Days

15 10 20

Fre

qu

en

cy o

f R

esu

lt

1

5

10

15

20

25

Page 17: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Result versus Frequency (1000+ runs)

More Often

Less Often Result Values – For example, Days

15 10 60

Fre

qu

en

cy o

f R

esu

lt

1

5

10

15

20

25

Page 18: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Key Point 1

There is NO single forecast result

There will always be many possible results, some more likely

Page 19: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Time to Complete Backlog

50% Possible Outcomes

50% Possible Outcomes

When pressed for a single number, we often give the average.

Like

liho

od

Page 20: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Key Point 2

“Average” is NEVER an option

Page 21: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

But, I.T. gets worse

Page 22: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

1 2 3

Planned Backlog

Perf/Memory Issues

Vendor Delay

Time to Delivery

Like

liho

od

Promised New Average

50% Possible Outcomes

Page 23: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Key Point 3

Risks play a BIG role in forecasts

Yes, more than backlog!

Page 24: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

PAIN POINT Demo: Forecasting… My Boss “Needs” a Date…

Page 25: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

In this demo

• Basic Scrum and Kanban Modeling

• How to build a simple model

– SimML Modeling Language

– Visual checking of models

– Forecasting Date and Cost

– The “Law of Large Numbers”

Page 26: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Metrics & Measurement

Page 27: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Why measure?

• Ask audience

• Show my slide covering what was said

• Explain that they all boil back to feedback/insight, except directly driving

Page 28: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Bad measurement can drive wrong behavior

• NBA sharp

Page 29: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Start with the outcomes

• Measurement -> Insight -> Decisions -> Outcomes

• Work backwards

Page 30: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Balance

• Do it fast(er)

o Productivity

o Time to market

• Do it when expected o Predictability

o Responsiveness

• Do it right o Quality

o Customer satisfaction

• Do it with a smile o Employee satisfaction

Page 31: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Analyze correctly

• Show non-normal cycle time distribution

• Explain risk evaluation error by assuming normal distribution

• Explain value of long tail

Page 32: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Collection costs

• Perceived cost is high

• No need for explicit collection activities

• Plenty to learn in passive data from ALM and other tools

Page 33: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Demo: Using History… Reverse Engineering Data

Page 34: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Probability Density Function

Lognormal (1; 1)

x

121086420

f(x)

0.24

0.22

0.2

0.18

0.16

0.14

0.12

0.1

0.08

0.06

0.04

0.02

0

Probability Density Function

Weibull (1.5; 1)

x

32.521.510.50

f(x)

0.72

0.64

0.56

0.48

0.4

0.32

0.24

0.16

0.08

0

Probability Density Function

Normal (1; 0)

x

3.22.41.60.80-0.8-1.6-2.4-3.2

f(x)

0.4

0.36

0.32

0.28

0.24

0.2

0.16

0.12

0.08

0.04

0

Probability Density Function

Triangular (3; 0; 10)

x

109876543210

f(x)

0.2

0.18

0.16

0.14

0.12

0.1

0.08

0.06

0.04

0.02

0

Page 35: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

In this demo

• How to examine the properties of data

• How to use historical data in a model

–How to take samples and build a distribution

–Compare the impact of this distribution on the forecast

Page 36: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Demo: Finding What Matters Most Cost of Defects & Staff Analysis

Page 37: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Actively Manage

Ignore for the moment

Sensitivity Report

Page 38: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Staff Skill Impact Report

Explore what staff changes have the greatest impact

Page 39: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

In this demo

• Finding what matters most

– Manual experiments

– Sensitivity Testing

• Finding the next best 3 staff skill hires

• Minimizing and simplifying estimation

– Grouping backlog

– Range Estimates

– Deleting un-important model elements

Page 40: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Demo: Finding the Cost / Benefit of Outsourcing

Page 41: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

In this demo

• Model the impact of various outsourcing models

Page 42: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Assessing and Communicating Risk

Page 43: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Speaking Risk To Executives

• Buy them a copy of “Flaw of Averages” • Show them you are tracking & managing risk • Do

– “We are 95% certain of hitting date x” – “With 1 week of analysis, that may drop to date y” – “We identified risk x, y & z that we will track weekly”

• Don’t – Give them a date without likelihood

• “February 29th 2013”

– Give them a date without risk factors considered • “To do the backlog of features, February 29th, 2013”

Page 44: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

We spend all our time estimating here

1 2 3

**Major risk events have the predominate role in deciding where deliver actually occurs **

Plan Performance Issues

External Vendor Delay

Page 45: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Risk likelihood changes constantly

1 2 3

95th Confidence

Interval

Page 46: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Risk likelihood changes constantly

1 2 3

95th Confidence

Interval

Page 47: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Risk likelihood changes constantly

1 2 3

95th Confidence

Interval

Page 48: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Risk likelihood changes constantly

1 2 3

95th Confidence

Interval

Page 49: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Key Points

• There is no single release date forecast

• Never use Average as a quoted forecast

• Risk factors play a major role (not just backlog)

• Take care with Non-Normal data

• Measurement -> Insight -> Decisions -> Outcomes : But Backwards!

• Define experiments and prove outcomes

• Communicate Risk early with executive peers

Page 50: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Call to action

• Read these books

• Download the software FocusedObjective.com

• Follow @AgileSimulation

• Learn: http://strategicdecisions.stanford.edu/

Page 51: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Please Submit an Eval Form!

We want to learn too!

Page 52: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the
Page 53: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

BEST PRACTICES

Page 54: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Model (a little)

Visually Test

Monte-Carlo Test

Sensitivity Test

The Model Creation

Cycle

Page 55: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Baseline

Make Single

Change

Compare Results

Make Informed

Decision(s)

The Experiment

Cycle

Page 56: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Best Practice 1

Start simple and add ONE input condition at a time.

Visually / Monte-carlo test

each input to verify it works

Page 57: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Best Practice 2

Find the likelihood of major events and estimate delay E.g. vendor dependencies,

performance/memory issues, third party component

failures.

Page 58: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Best Practice 3

Only obtain and add detailed estimates and opinion to a

model if Sensitivity Analysis says that input is material

Page 59: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Best Practice 4

Use a uniform random input distribution UNTIL sensitivity

analysis says that input is influencing the output

Page 60: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Best Practice 5

Educate your managers’ about risk. They will still want a “single” date for planning, but let them decide 75th or

95th confidence level (average is NEVER an option)

Page 61: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

SIMULATION EXAMPLES

Return to main presentation…

Page 62: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

unlikely

certain

Forecasts Return to main presentation…

Page 63: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

unlikely

certain

Forecasts

50% Possible

Outcomes

50% Possible Outcomes

Return to main presentation…

Page 64: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Actively Manage

Ignore for the moment

Sensitivity Report Return to main presentation…

Page 65: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Staff Skill Impact Report

Explore what staff changes have the greatest impact

Return to main presentation…

Page 66: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Return to main presentation…

Page 67: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

Focused Objective

• Risk Tools for Software Dev

• Scrum/Agile Simulation

• Kanban/Lean Simulation

• Forecasting Staff, Date & Cost

• Automated Sensitivity Analysis

• Data Reverse Engineering

• Consulting / Training

• Book

Page 68: Modeling, Simulation & Data Mining: Answering Tough Cost ... · 2. Effective mining and modeling historical data 3. Finding the few valuable & needed estimates 4. Determining the

We Use & Recommend: EasyFit

• Mathwave.com

• Invaluable for

– Analyzing data

– Fitting Distributions

– Generating Random Numbers

– Determining Percentiles