Attack Sources of Variability to
Improve Predictability
Kanban Recipe for Success: Step Six
Jason Yip
j.c.yip@computer.org...
HOMEWORK CHECK
What step(s) did you take to start
prioritising?
The Recipe for Success
1.
2.
3.
4.
5.
6.

Focus on Quality
Reduce WIP
Deliver Often
Balance Demand Against Throughput
Prio...
WHAT IS VARIABILITY?
WHY VARIABILITY?
“We cannot add value without
adding variability, but we can
add variability without adding
value.”
Don Reinertsen, The Pri...
“Variability results in more workin-progress and longer lead
times.”

David Anderson, Kanban
Variability leads to buffers and
bottlenecks

http://flic.kr/p/4QofnD
“Consistency leads to better programs. If
formatting varies unpredictably, or a loop over an
array runs uphill this time a...
Paying attention to variability helps
you to see problems
SOURCES OF VARIABILITY
Types of variation
• Internal
– Due to the design of the system
– Variation is random with no clear assignable cause
– Add...
Various ways to talk about
variation

• Shewart

– Chance-cause (random and inherent to system design) vs assignablecause ...
Internal sources of variability in
software development
•
•
•
•
•

Software development process
Project management process...
“Simply changing an existing
process policy can dramatically
reduce sources of variability that
affect predictability.”
Da...
ASIDE: VARIATION IS NOT
INHERENTLY EVIL
“We cannot add value without
adding variability, but we can
add variability without adding
value.”
Don Reinertsen, The Pri...
Which choice has the least
variability?
Choice

Stakes

Payoff

Probability

A

$15 000

$100 000

50%

B

$15 000

$20 00...
Which is the best economic
choice?
Choice

Stakes

Payoff

Probability

Expected Value

A

$15 000

$100 000

50%

$35 000...
Higher variability raises pay-off

From The Principles of Product Development Flow by Don Reinertsen
Don’t “minimise variability” nor
“maximise variability” but rather
optimise variability based on
context
Don Reinertsen’s two main
approaches for dealing with
variability
1. Change the amount of variability
2. Change the econom...
TACTICS FOR REDUCING
VARIABILITY
Standardise work item size
• Standardise the format (e.g., As a…I
want…in order to…)
• Limit the number of types (e.g., S,...
Which betting approach has less
variation?
1. Flip a coin. Heads, you win $100; tails,
you lose $100.
2. Flip a coin 4 tim...
Many small experiments produce
less variation than one big one
If it varies too much, do it more
often
Automate
Practice

http://martinfowler.com/bliki/FrequencyReducesDifficulty.html
Reuse
… but decide based on economics, not
“maximising reuse”

http://en.wikipedia.org/wiki/Vacuum_tube
Pursue high quality
•
•
•
•
•
•

Peer reviews
Pair programming
Unit tests
Continuous integration
Small batch sizes
Highly ...
Remove unnecessary ambiguity
Put limits on expedite requests
Process behaviour (aka control)
charts
TACTICS FOR IMPROVING THE
CONSEQUENCES OF VARIABILITY
“A [schedule] buffer converts
uncertain earliness to certain
lateness. Thus, it is generally a bad
idea to trade cycle tim...
Rapid feedback
• Think Mean Time to Recover vs Mean
Time to Failure
Substitute cheap variability for
expensive variability

From The Principles of Product Development Flow by Don Reinertsen
HOMEWORK
What is the smallest step you
could take to move 1 level up
(or more)?
What is your plan to start that
step tomorrow?
Attack Sources of Variability to Improve Predictability
Attack Sources of Variability to Improve Predictability
Upcoming SlideShare
Loading in...5
×

Attack Sources of Variability to Improve Predictability

728

Published on

Sydney Limited WIP Society presentation on Kanban Recipe of Success part 6: Attack Sources of Variability to Improve Predictability.

What is variation? Why do we care about variation? When is variation valuable? Tactics to changing the amount of variation. Tactics to change the consequences of variation.

Published in: Business, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
728
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • 0.5 * 85000 – 0.5 * 15000 = 0.9 * 5000 – 0.1 * 15000 = 3000
  • Attack Sources of Variability to Improve Predictability

    1. 1. Attack Sources of Variability to Improve Predictability Kanban Recipe for Success: Step Six Jason Yip j.c.yip@computer.org jcyip@thoughtworks.com @jchyip http://jchyip.blogspot.com
    2. 2. HOMEWORK CHECK
    3. 3. What step(s) did you take to start prioritising?
    4. 4. The Recipe for Success 1. 2. 3. 4. 5. 6. Focus on Quality Reduce WIP Deliver Often Balance Demand Against Throughput Prioritise Attack Variability to Improve Predictability
    5. 5. WHAT IS VARIABILITY?
    6. 6. WHY VARIABILITY?
    7. 7. “We cannot add value without adding variability, but we can add variability without adding value.” Don Reinertsen, The Principles of Product Development Flow
    8. 8. “Variability results in more workin-progress and longer lead times.” David Anderson, Kanban
    9. 9. Variability leads to buffers and bottlenecks http://flic.kr/p/4QofnD
    10. 10. “Consistency leads to better programs. If formatting varies unpredictably, or a loop over an array runs uphill this time and downhill the next, or strings are copied with strcpy here and a for loop there, the variations make it harder to see what’s really going on. But if the same computation is done the same way every time it appears, any variation suggests a genuine difference, one worth noting.” Brian Kernighan and Rob Pike, The Practice of Programming
    11. 11. Paying attention to variability helps you to see problems
    12. 12. SOURCES OF VARIABILITY
    13. 13. Types of variation • Internal – Due to the design of the system – Variation is random with no clear assignable cause – Address this by changing the policies and process (aka “rules of the game”) • External – Variation caused by events or aspects that are outside your control – It is possible to assign a cause (aka the external event) – Address this by having systems and structures to “roll with it” (aka risk management)
    14. 14. Various ways to talk about variation • Shewart – Chance-cause (random and inherent to system design) vs assignablecause (cause-and-effect with external event) • Alpert / Deming – Common-cause (common to all similarly designed systems) vs special-cause (new knowledge or event that is different to how the system normally works) • Feigenbaum – Usual (the variation you’ve learned to expect) vs unusual (any variation that is not expected) (Also normal vs abnormal) • Wheeler – Routine (predictable variation characteristic of common causes) vs exceptional (unpredictable variation as the result of an assignable cause) http://jchyip.blogspot.com.au/2010/05/different-ways-to-describe-causes-of.html
    15. 15. Internal sources of variability in software development • • • • • Software development process Project management process Organisational systems and structures Capability of team members Technology choice
    16. 16. “Simply changing an existing process policy can dramatically reduce sources of variability that affect predictability.” David Anderson, Kanban
    17. 17. ASIDE: VARIATION IS NOT INHERENTLY EVIL
    18. 18. “We cannot add value without adding variability, but we can add variability without adding value.” Don Reinertsen, The Principles of Product Development Flow
    19. 19. Which choice has the least variability? Choice Stakes Payoff Probability A $15 000 $100 000 50% B $15 000 $20 000 90% C $15 000 $16 000 100% Derived from The Principles of Product Development Flow by Don Reinertsen
    20. 20. Which is the best economic choice? Choice Stakes Payoff Probability Expected Value A $15 000 $100 000 50% $35 000 B $15 000 $20 000 90% $3 000 C $15 000 $16 000 100% $1 000 Derived from The Principles of Product Development Flow by Don Reinertsen
    21. 21. Higher variability raises pay-off From The Principles of Product Development Flow by Don Reinertsen
    22. 22. Don’t “minimise variability” nor “maximise variability” but rather optimise variability based on context
    23. 23. Don Reinertsen’s two main approaches for dealing with variability 1. Change the amount of variability 2. Change the economic consequences of the variability
    24. 24. TACTICS FOR REDUCING VARIABILITY
    25. 25. Standardise work item size • Standardise the format (e.g., As a…I want…in order to…) • Limit the number of types (e.g., S, M, L vs 0 – 100)
    26. 26. Which betting approach has less variation? 1. Flip a coin. Heads, you win $100; tails, you lose $100. 2. Flip a coin 4 times. Each time you flip, heads, you win $25; tails, you lose $25. Option 1: Chance of losing $100 is 50% (1 in 2) Option 2: Chance of losing $100 is 6.25% (1 in 16) Derived from The Principles of Product Development Flow by Don Reinertsen
    27. 27. Many small experiments produce less variation than one big one
    28. 28. If it varies too much, do it more often Automate Practice http://martinfowler.com/bliki/FrequencyReducesDifficulty.html
    29. 29. Reuse … but decide based on economics, not “maximising reuse” http://en.wikipedia.org/wiki/Vacuum_tube
    30. 30. Pursue high quality • • • • • • Peer reviews Pair programming Unit tests Continuous integration Small batch sizes Highly cohesive, loosely coupled architectures
    31. 31. Remove unnecessary ambiguity
    32. 32. Put limits on expedite requests
    33. 33. Process behaviour (aka control) charts
    34. 34. TACTICS FOR IMPROVING THE CONSEQUENCES OF VARIABILITY
    35. 35. “A [schedule] buffer converts uncertain earliness to certain lateness. Thus, it is generally a bad idea to trade cycle time for reduced variability in cycle time.” Don Reinertsen, The Principles of Product Development Flow
    36. 36. Rapid feedback • Think Mean Time to Recover vs Mean Time to Failure
    37. 37. Substitute cheap variability for expensive variability From The Principles of Product Development Flow by Don Reinertsen
    38. 38. HOMEWORK
    39. 39. What is the smallest step you could take to move 1 level up (or more)?
    40. 40. What is your plan to start that step tomorrow?
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×