Velocity is NOT the Goal - PNSQC

Preview:

DESCRIPTION

Updated version of this talk as presented at Pacific Northwest Software Quality Conference in 2012. This is a longer version, including content on scatter diagrams and standard deviation.

Citation preview

Agile Metrics:Velocity is Not the

Goal.Michael “Doc” Norton ◊ @DocOnDev ◊ doc@leandog.com

Work units delivered over timeWhat’s “Agile” Velocity?

Tells us about the health of the projectTrailing Indicator

Planning ByVelocity

Velocity Graph

0

6

12

18

24

30

1 2 3 4 5 6 7 8 9 10

25

2827

2829

28

24

28

30

27

Velocity

Yesterday’s Weather

0

6

12

18

24

30

1 2 3 4 5 6 7 8 9 10

30 25 28 27 28 29 28 24 28 30

25

2827

2829

28

24

28

30

27

Weather Actual

Burn Down

0

125

250

375

500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ideal Actual Estimate

Rolling Average

0

6

12

18

24

30

1 2 3 4 5 6 7 8 9 10

30 25 27 27 28 28 28 26 27 2730 25 28 27 28 29 28 24 28 30

25

2827

2829

28

24

28

30

27

Weather Rolling Actual

Burn Down

0

125

250

375

500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ideal Actual Estimate

Do you feelConfident?

StandardDeviation

Standard Deviation Basics

?

Standard Deviation Basics

Standard Deviation Basics

Calculate the mean (average) of the population

Compute the difference of each data point from

the mean, and square the result of each

Compute the average of these values, and take

the square root

Calculate the mean

0

6

12

18

24

30

1 2 3 4 5 6 7 8 9 10

25

2827

2829

28

24

28

30

27

Velocity

(25+28+27+28+29+28+24+28+30+27)/10 = 27.4

Take differences and square

0

6

12

18

24

30

1 2 3 4 5 6 7 8 9 10

25

2827

2829

28

24

28

30

27

Velocity

(25-27.4)**2 = (-2.4)**2 = 5.76(28-27.4)**2 = (0.6)**2 = 0.36(27-27.4)**2 = (-0.4)**2 = 0.16(28-27.4)**2 = (0.6)**2 = 0.36(29-27.4)**2 = (1.6)**2 = 2.56

(28-27.4)**2 = (0.6)**2 = 0.36(24-27.4)**2 = (-3.4)**2 = 11.56(28-27.4)**2 = (0.6)**2 = 0.36(30-27.4)**2 = (2.6)**2 = 6.76(27-27.4)**2 = (-0.4)**2 = 0.16

(25+28+27+28+29+28+24+28+30+27)/10 = 27.4

Square root of difference avg.

0

6

12

18

24

30

1 2 3 4 5 6 7 8 9 10

25

2827

2829

28

24

28

30

27

Velocity

(25-27.4)**2 = (-2.4)**2 = 5.76(28-27.4)**2 = (0.6)**2 = 0.36(27-27.4)**2 = (-0.4)**2 = 0.16(28-27.4)**2 = (0.6)**2 = 0.36(29-27.4)**2 = (1.6)**2 = 2.56

(28-27.4)**2 = (0.6)**2 = 0.36(24-27.4)**2 = (-3.4)**2 = 11.56(28-27.4)**2 = (0.6)**2 = 0.36(30-27.4)**2 = (2.6)**2 = 6.76(27-27.4)**2 = (-0.4)**2 = 0.16

(25+28+27+28+29+28+24+28+30+27)/10 = 27.4

(2.84)**1/2 = 1.685

Standard Deviation

0

6

12

18

24

30

1 2 3 4 5 6 7 8 9 10

25

2827

2829

28

24

28

30

27

Velocity

1.685

Burn Down :: 1SD

0

125

250

375

500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ideal Actual Estimate High Low

Burn Down :: 2SD

0

125

250

375

500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Ideal Actual Estimate High Low

Same Mean, Same Rolling, Different DeviationStandard Deviation

Set: 10,11,9,10Mean: 10Rolling: 10Deviation: 0.7Velocity: 9.3-10.7

Set: 10,14,9,7Mean: 10Rolling: 10Deviation: 2.5Velocity: 7.5-12.5

Now you do it

6, 11, 12, 10, 8, 7Calculate the mean (average) of the population

Compute the difference of each data point from

the mean, and square the result of each

Compute the average of these values, and take

the square root

Calculate Standard Deviation & Predict Velocity

“You can’t manage what you can’t

measure”

Says Who?

Father of the Quality EvolutionDr. W. Edwards Deming

You can’t manage what

you can’t measure.

Father of the Quality EvolutionDr. W. Edwards Deming

Certainly NOTDon’t be ridiculous!

Running a company on visible figures

alone

[!" #$%#&']

Father of the Quality EvolutionDr. W. Edwards Deming

Lack of constancy of purposeEmphasis on short term profitsEvaluation of performance, merit rating, or annual reviewMobility of top managementRunning a company on visible figures alone

Excessive medical costsExcessive legal damage awards

Seven Deadly Diseasesof

Western Management

5at which is measured, will improveThe Hawthorn Effect

Rather than the symptomsRepair the root cause

What matters is not setting

quantitative goals but 6ing the method by

which th7e goals are attained

What does it mean?Unstable Velocity

You want consistent (small) storiesPoor Story Composition

Get the highest value done firstToo Much WIP

Get everyone you need on the teamDependency on Other Teams

It won’t ever be perfectStable Velocity

Do we always want to go faster?Increase Velocity

Making a metric a target destroys the metricGoodhart’s Law

Rather than the symptomsRepair the root cause

What matters is not setting

quantitative goals but 6ing the method by

which th7e goals are attained

ScatterDiagram

Shows Correlation Between Two VariablesScatter Diagrams

0

5000

10000

15000

20000

0 2 4 6 8

Velocity and Complexity

0

12.5

25

37.5

50

0 25 50 75 100

Negative Correlation

Velocity and Value

0

12.5

25

37.5

50

0 10000 20000 30000 40000

No Correlation

Velocity and Test Coverage

0

12.5

25

37.5

50

0 22.5 45 67.5 90

P7itive Correlation

CumulativeFlow

Sample Backlog

Velocity doesn’t always tell us enoughCumulative Flow

What story does this tell?Velocity Graph

0

5

10

15

20

1 2 3 4 5 6 7 8 9 10

Velocity

What story does this tell?Velocity Graph

0

5

10

15

20

1 2 3 4 5 6 7 8 9 10

Velocity

What story does this tell?Cumulative Flow

0

25

50

75

100

1 2 3 4 5 6 7 8 9 10

Deployed Ready for Approval In Testing In Progress Ready To Start

WhatElse?

Watch more than oneBalanced Metrics

0

4

8

12

16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Velocity

Watch more than oneBalanced Metrics

0

4

8

12

16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

12.5

25

37.5

50

Velocity Quality

Watch more than oneBalanced Metrics

0

4

8

12

16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

12.5

25

37.5

50

Velocity Quality Avg. Hours

Watch more than oneBalanced Metrics

0

4

8

12

16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

12.5

25

37.5

50

Velocity Quality Avg. Hours Team Joy

Thank You

Michael “Doc” Norton ◊ @DocOnDev ◊ doc@leandog.com

Recommended