0
Making Changes That Matter

Theory Of Constraints - A Fundamental Systems Thinking Principle!
Craig Strong!
@craigstrong
c...
Goal Of Presentation
1. Explain the Theory Of Constraints by example and
show how this can be applied to make effective
ch...
Theory Of Constraints
1. Identify The Bottleneck
2. Exploit The Bottleneck
3. Subordinate Every Decision To The Bottleneck...
From Manufacturing To Software

!4
Lead Time ?
The elapsed time between starting and finishing a defined process	


!5
Kanban Workflow
Day 0

Output : 0
Design

Ready

In Progress

Story

Done

In Progress

Done

Test
In Progress

0

Story

D...
Kanban Workflow
Output : 0

Day 1
Design
Ready

In Progress

Development
Done

Story

Done

In Progress

1

Story

In Progr...
Kanban Workflow
Day 1

Output : 0
Design

Ready

Development

In Progress

Done

0
0

In Progress

Done

Test
In Progress

...
Kanban Workflow
Day 1

Output : 0
Design

Development

Ready

In Progress

Done

Story

0
0

1

Story

In Progress

Done

T...
Kanban Workflow
Day 1

Output : 0
Design

Development

Ready

In Progress

Done

Story

0
0

1

Story

In Progress

Done

T...
Kanban Workflow
Output : 0

Day 2
Design
Ready

Development

In Progress

Done

In Progress

0
0

1
1

Done

Test
In Progre...
Kanban Workflow
Output : 0

Day 2
Design

Development

Ready

In Progress

Done

In Progress

Story

0
0

1
1

2

Story

Do...
Kanban Workflow
Output : 0

Day 2
Design

Development

Ready

In Progress

Done

In Progress

Story

0
0

1
1

2

Story

Do...
Kanban Workflow
Output : 0

Day 3
Design
Ready

Development

In Progress

Done

In Progress

Done

0

1
1

2
2

Test

3

0
...
Kanban Workflow
Output : 0

Day 3
Design

Development

Ready

In Progress

Done

In Progress

Done

Story

0
0

2
2

3

Sto...
Kanban Workflow
Output : 0

Day 3
Design

Development

Ready

In Progress

Done

In Progress

Done

Story

0
0

2
2

3

Sto...
Kanban Workflow
Output : 0

Day 4
Design
Ready

In Progress

Development
Done

0

1

0

1

In Progress

Done

2
2

Test
In ...
Kanban Workflow
Output : 0

Day 4
Design

Development

Ready

In Progress

Done

Story

0

1

Story

0

1

In Progress

Don...
Kanban Workflow
Output : 0

Day 4
Design

Development

Ready

In Progress

Done

Story

0

1

Story

0

1

In Progress

Don...
Kanban Workflow
Day 5

Output : 2
Design

Ready

In Progress

Development

Test

Done

In Progress

Done

In Progress

0

1...
Kanban Workflow
Day 5

Output : 2
Design

Ready

In Progress

Development

Test

Done

In Progress

Done

In Progress

0

1...
Flow Explained
Day 5

Output : 2

Lead Time = 5 Days
Lead Time =WIP / Throughput
5 Days = 10 / 2

!22
Simulator
Theory Of Constraints

Matchstick Game

Simulator
!23
Goal
To deliver software more frequently at a
sustainable pace without drastically increasing
costs

!24
Common Limitations
•

Limited financial resources

•

Hiring more people often makes the problem
worse

!25
Simulated Workflow
WIP LIMIT
Design

Development

Test

Ready

In Progress

Done

In Progress

Done

In Progress

Story

St...
Initial System State
Backlog

Design

Development

Testing

Min Output

1

1

1

Max Output

10

10

4

40

40

20

WIP

1...
500 Cycles Later

!28
Results After 500 Cycles
Deployed Units

Avg !
Throughput !
(Per Cycle)

Avg !
WIP

Avg!
Lead Time

1237

2.47

105.67

41...
Theory Of Constraints
1. Identify The Bottleneck
2. Exploit The Bottleneck
3. Subordinate Every Decision To The Bottleneck...
Present CFD

!31
Underneath The Hood
Lead Time
16

15.50

15.38

12

Design (LT = 3.73)

Dev (LT = 15.65)

Test (LT = 23.48)
7.98

8

4
2.9...
Bottlenecks
“Being the bottleneck is not bad, although some people hate
being the focus of attention. Conversely being the...
Theory Of Constraints
1. Identify The Bottleneck
2. Exploit The Bottleneck
3. Subordinate Every Decision To The Bottleneck...
How Can We Exploit The
Bottleneck ?
•

Shield the team from interruptions

•

Reduce Task Switching & Introduce WIP 

(Max...
Lead Time And Feedback
Handoffs and approvals slow down the BuildMeasure-Learn feedback loop and inhibit both
learning and...
Exploit The Bottleneck
Backlog

Design

Development

Testing

Min

1

1

1

Max

10

10

4

40

40

20

WIP

10

!37
Exploit The Bottleneck
Backlog

Design

Development

Testing

Min

1

1

1

Max

10

10

6 (+2)

40

40

6 (max)

WIP

10
...
500 Cycles Later

!39
Results 500 Cycles
Deployed!
Throughput
Units

Avg WIP

Improved
Lead Time
Lead Time

Original

1237

2.47

105.67

41 Cyc...
Theory Of Constraints
1. Identify The Bottleneck
2. Exploit The Bottleneck
3. Subordinate Every Decision To The Bottleneck...
Subordinate Every Decision
To The Bottleneck
•

Reduce the backlog by introducing WIP
upstream. Work to the rhythm of the ...
Subordinate Bottleneck
Backlog

Design

Development

Testing

Min

1

1

1

Max

10

10

6

(40) Now 12

(40) Now 12

6

W...
500 Cycles Later

!44
Results 500 Cycles
Deployed!
Throughput
Units

Avg WIP

Improved
Lead Time
Lead Time

Original

1237

2.47

105.67

41 Cyc...
Subordinate Every Decision
To The Bottleneck
•

Other teams can help test when available and necessary
(Cross Functional T...
Subordinate Every Decision
To The Bottleneck
If the testers have too much work to do, we don’t want
developers to keep bui...
Solving Problems Together

!48
Working Outside Strongest
Skill Set
Job rotation shows people how their work impacts on
others. Goedtel said, “When you ge...
Subordinate Bottleneck

Backlog

Design

Development

Testing

Min

1

1

1

Max

10

10

6

12

12

6

WIP

10

!50
500 Cycles Later

!51
Cross Functional
Distribution
Over 500 Cycles
200

191

150

121

100

50

38

13
0

0

1

0
Design

Development

Design

...
Results 500 Cycles
Deployed
Deployed!
Avg TP
Throughput Avg WIP
Avg WIP
Units
Units
Original
Exploited
Bottleneck
Subordin...
Theory Of Constraints
1. Identify The Bottleneck
2. Exploit The Bottleneck
3. Subordinate Every Decision To The Bottleneck...
Better working Environments

Elevate the bottleneck
!55
Better Tools

Elevate The Bottleneck
!56
Pairing - Team Work

Elevate The Bottleneck
!57
Elevate Bottleneck
Backlog

Design

Development

Testing

Min

1

1

1

Max

10

10

6

12

12

6

WIP

10

!58
Elevate Bottleneck
Backlog

Design

Development

Testing

Min

(+3) 4

(+3) 4

(+1) 2

Max

(-4) 6

(-4) 6

(-2) 4

8

8

...
500 Days Later

!60
Results 500 Cycles
Deployed!
Units

Throughput

Avg WIP

Original

1237

2.47

105.67

41 Days

Exploited
Bottleneck

1727...
Lead Time And Feedback
Remember, if we’re building something that
nobody wants, it doesn’t much matter if we’re
doing it o...
Lead Time And Feedback
The goal of a startup is to figure out the right thing
to build—the thing customers want and will pa...
Theory Of Constraints
1. Identify The Bottleneck
2. Exploit The Bottleneck
3. Subordinate Every Decision To The Bottleneck...
Original CFD

!65
Present CFD
Time &
Cost

Original Capacity

!66
Deviation Comparison

Original
Elevate

!67
Lead Time Built Into Scrum
Sprint 1
5

Story

Sprint 2
8

Story

Sprint 3
8

Littles Law

Story

Lead Time = WIP/Throughpu...
ToC Example Applied

http://www.strongandagile.co.uk/index.php/the-hourglass-scrumban-board/

!69
Workflow
The bottleneck should always be busy.
Wasted effort on the bottleneck is a wasted
effort for the entire system
Des...
Workflow
The bottleneck should always be busy.
Wasted effort on the bottleneck is a wasted
effort for the entire system
Req...
Workflow
The bottleneck should always be busy.
Wasted effort on the bottleneck is a wasted
effort for the entire system
Req...
Inventory

!73
Links & Books

•

I’m not a bottleneck I’m a free man(http://www.agilecoach.net/coach-tools/bottleneck-game/)

•

http://w...
Thank You
!

Questions ?

Craig Strong!
@craigstrong
craig.strong@c6s.co.uk
www.strongandagile.co.uk

Daryn Holmes!
@daryn...
Upcoming SlideShare
Loading in...5
×

Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmes

2,570

Published on

These slides are from the presentation at http://www.agiletourlondon.co.uk 1/11/2013. They are based on simulated results using a basic Kanban workflow. The goal of the presentation was to explain the Theory Of Constraints by example and show how this can be applied to make effective changes and
to provoke thinking about the wider system we work within

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

No Downloads
Views
Total Views
2,570
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
35
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmes"

  1. 1. Making Changes That Matter Theory Of Constraints - A Fundamental Systems Thinking Principle! Craig Strong! @craigstrong craig.strong@c6s.co.uk www.strongandagile.co.uk Daryn Holmes! @darynholmes darynholmes@gmail.com !1 http://darynholmes.wordpress.com
  2. 2. Goal Of Presentation 1. Explain the Theory Of Constraints by example and show how this can be applied to make effective changes 2. To provoke thinking about the wider system we work within ! !2
  3. 3. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !3
  4. 4. From Manufacturing To Software !4
  5. 5. Lead Time ? The elapsed time between starting and finishing a defined process !5
  6. 6. Kanban Workflow Day 0 Output : 0 Design Ready In Progress Story Done In Progress Done Test In Progress 0 Story Development 0 Story Story Story System WIP = 2 !6 Shipped
  7. 7. Kanban Workflow Output : 0 Day 1 Design Ready In Progress Development Done Story Done In Progress 1 Story In Progress Test 1 Story Story Story System WIP = 2 !7 Shipped
  8. 8. Kanban Workflow Day 1 Output : 0 Design Ready Development In Progress Done 0 0 In Progress Done Test In Progress 1 1 Story Story Story System WIP = 4 !8 Shipped
  9. 9. Kanban Workflow Day 1 Output : 0 Design Development Ready In Progress Done Story 0 0 1 Story In Progress Done Test In Progress 1 Story System WIP = 4 !9 Shipped
  10. 10. Kanban Workflow Day 1 Output : 0 Design Development Ready In Progress Done Story 0 0 1 Story In Progress Done Test In Progress 1 Story Story Story System WIP = 4 !10 Shipped
  11. 11. Kanban Workflow Output : 0 Day 2 Design Ready Development In Progress Done In Progress 0 0 1 1 Done Test In Progress 2 2 Story Story Story System WIP = 6 !11 Shipped
  12. 12. Kanban Workflow Output : 0 Day 2 Design Development Ready In Progress Done In Progress Story 0 0 1 1 2 Story Done Test In Progress 2 Story System WIP = 6 !12 Shipped
  13. 13. Kanban Workflow Output : 0 Day 2 Design Development Ready In Progress Done In Progress Story 0 0 1 1 2 Story Done Test In Progress 2 Story Story Story System WIP = 6 !13 Shipped
  14. 14. Kanban Workflow Output : 0 Day 3 Design Ready Development In Progress Done In Progress Done 0 1 1 2 2 Test 3 0 In Progress 3 Story Story Story System WIP = 8 !14 Shipped
  15. 15. Kanban Workflow Output : 0 Day 3 Design Development Ready In Progress Done In Progress Done Story 0 0 2 2 3 Story 1 1 Test In Progress 3 Story System WIP = 8 !15 Shipped
  16. 16. Kanban Workflow Output : 0 Day 3 Design Development Ready In Progress Done In Progress Done Story 0 0 2 2 3 Story 1 1 Test In Progress 3 Story Story Story System WIP = 8 !16 Shipped
  17. 17. Kanban Workflow Output : 0 Day 4 Design Ready In Progress Development Done 0 1 0 1 In Progress Done 2 2 Test In Progress 3 3 Story Story Story System WIP = 10 !17 4 4 Shipped
  18. 18. Kanban Workflow Output : 0 Day 4 Design Development Ready In Progress Done Story 0 1 Story 0 1 In Progress Done 2 2 Test In Progress 3 3 Story System WIP = 10 !18 4 4 Shipped
  19. 19. Kanban Workflow Output : 0 Day 4 Design Development Ready In Progress Done Story 0 1 Story 0 1 In Progress Done 2 2 Test In Progress 3 3 Story Story Story System WIP = 10 !19 4 4 Shipped
  20. 20. Kanban Workflow Day 5 Output : 2 Design Ready In Progress Development Test Done In Progress Done In Progress 0 1 2 0 1 2 3 3 4 4 Story Story Story System WIP = 10 !20 Shipped 5 5
  21. 21. Kanban Workflow Day 5 Output : 2 Design Ready In Progress Development Test Done In Progress Done In Progress 0 1 2 0 1 2 3 3 4 4 Story Story Story System WIP = 10 !21 Shipped 5 5
  22. 22. Flow Explained Day 5 Output : 2 Lead Time = 5 Days Lead Time =WIP / Throughput 5 Days = 10 / 2 !22
  23. 23. Simulator Theory Of Constraints Matchstick Game Simulator !23
  24. 24. Goal To deliver software more frequently at a sustainable pace without drastically increasing costs !24
  25. 25. Common Limitations • Limited financial resources • Hiring more people often makes the problem worse !25
  26. 26. Simulated Workflow WIP LIMIT Design Development Test Ready In Progress Done In Progress Done In Progress Story Story Story Story Story Story Story Story Story Story Story Story Shipped Story Story Story Story Story Story !26
  27. 27. Initial System State Backlog Design Development Testing Min Output 1 1 1 Max Output 10 10 4 40 40 20 WIP 10 !27
  28. 28. 500 Cycles Later !28
  29. 29. Results After 500 Cycles Deployed Units Avg ! Throughput ! (Per Cycle) Avg ! WIP Avg! Lead Time 1237 2.47 105.67 41 Cycles !29
  30. 30. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !30
  31. 31. Present CFD !31
  32. 32. Underneath The Hood Lead Time 16 15.50 15.38 12 Design (LT = 3.73) Dev (LT = 15.65) Test (LT = 23.48) 7.98 8 4 2.98 0.75 0.27 0 Design Backlog Design Doing Design Done Dev Doing Lead Time !32 Dev Done Test Doing
  33. 33. Bottlenecks “Being the bottleneck is not bad, although some people hate being the focus of attention. Conversely being the bottleneck is not good, although some people like the attention” 
 http://www.agilecoach.net !33
  34. 34. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !34
  35. 35. How Can We Exploit The Bottleneck ? • Shield the team from interruptions • Reduce Task Switching & Introduce WIP 
 (Max day capacity) • Only work on throughput producing work (reduce personal admin e.g. reports, timesheets, meetings etc) • Not done through overtime as bottleneck will burnout and slow down over time !35
  36. 36. Lead Time And Feedback Handoffs and approvals slow down the BuildMeasure-Learn feedback loop and inhibit both learning and accountability The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries !36
  37. 37. Exploit The Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 4 40 40 20 WIP 10 !37
  38. 38. Exploit The Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 (+2) 40 40 6 (max) WIP 10 !38
  39. 39. 500 Cycles Later !39
  40. 40. Results 500 Cycles Deployed! Throughput Units Avg WIP Improved Lead Time Lead Time Original 1237 2.47 105.67 41 Cycles Exploited Bottleneck 1727 3.45 90.86 26 Cycles !40 36%
  41. 41. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !41
  42. 42. Subordinate Every Decision To The Bottleneck • Reduce the backlog by introducing WIP upstream. Work to the rhythm of the bottleneck. • The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system !42
  43. 43. Subordinate Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 (40) Now 12 (40) Now 12 6 WIP 10 !43
  44. 44. 500 Cycles Later !44
  45. 45. Results 500 Cycles Deployed! Throughput Units Avg WIP Improved Lead Time Lead Time Original 1237 2.47 105.67 41 Cycles Exploited Bottleneck 1727 3.45 90.86 26 Cycles 36% Subordinate Everything 1750 3.49 36.25 10 Cycles 75.6% !45
  46. 46. Subordinate Every Decision To The Bottleneck • Other teams can help test when available and necessary (Cross Functional Team) • If you switch away from your skill your input is reduced (Simulated up to 40% of effort) !46
  47. 47. Subordinate Every Decision To The Bottleneck If the testers have too much work to do, we don’t want developers to keep building new features and adding to their workload— instead, they should focus on helping test. WIP limits act as an alert signal to highlight the problem before it gets out of hand. Lean from the Trenches: Managing Large-Scale Projects with Kanban by Henrik Kniberg !47
  48. 48. Solving Problems Together !48
  49. 49. Working Outside Strongest Skill Set Job rotation shows people how their work impacts on others. Goedtel said, “When you get people rotating, they learn what defects they would send downstream; so when people rotate to upstream jobs, they don’t send as many problems down. When everyone knows what’s important downstream, they take care of it upstream.” ! Empowered work teams at Chrysler http://www.allpar.com/corporate/empowered-work-teams.html#ixzz2MwiV7cb4 !49
  50. 50. Subordinate Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 12 12 6 WIP 10 !50
  51. 51. 500 Cycles Later !51
  52. 52. Cross Functional Distribution Over 500 Cycles 200 191 150 121 100 50 38 13 0 0 1 0 Design Development Design Development !52 1 Testing Testing 0
  53. 53. Results 500 Cycles Deployed Deployed! Avg TP Throughput Avg WIP Avg WIP Units Units Original Exploited Bottleneck Subordinat e Everything CFT Change Improved Avg CT Lead Time CT Lead Time 1237 2.47 105.67 41 Days 1727 3.45 90.86 26 Days 36% 1750 3.49 36.25 10 Days 75.6% 2184 4.36 35.27 8 Days 80.5% !53
  54. 54. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !54
  55. 55. Better working Environments Elevate the bottleneck !55
  56. 56. Better Tools Elevate The Bottleneck !56
  57. 57. Pairing - Team Work Elevate The Bottleneck !57
  58. 58. Elevate Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 12 12 6 WIP 10 !58
  59. 59. Elevate Bottleneck Backlog Design Development Testing Min (+3) 4 (+3) 4 (+1) 2 Max (-4) 6 (-4) 6 (-2) 4 8 8 4 WIP 8 !59
  60. 60. 500 Days Later !60
  61. 61. Results 500 Cycles Deployed! Units Throughput Avg WIP Original 1237 2.47 105.67 41 Days Exploited Bottleneck 1727 3.45 90.86 26 Days 36% Subordinate Everything 1750 3.49 36.25 10 Days 75.6% CFT 2184 4.36 35.27 8 Days 80.5% Elevate Bottleneck 1926 3.84 23.78 6 Days 85.4% !61 Improved Lead Time Lead Time
  62. 62. Lead Time And Feedback Remember, if we’re building something that nobody wants, it doesn’t much matter if we’re doing it on time and on budget. The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries !62
  63. 63. Lead Time And Feedback The goal of a startup is to figure out the right thing to build—the thing customers want and will pay for —as quickly as possible. The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries !63
  64. 64. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !64
  65. 65. Original CFD !65
  66. 66. Present CFD Time & Cost Original Capacity !66
  67. 67. Deviation Comparison Original Elevate !67
  68. 68. Lead Time Built Into Scrum Sprint 1 5 Story Sprint 2 8 Story Sprint 3 8 Littles Law Story Lead Time = WIP/Throughput 2 Story 8 Story 2 Story 8 Story 2 Story 2 Story 5 Story 5 Story 5 Story 5 Days = 4 Stories/0.8 Or 5 Days = 18 pts /3.6 5 Days 5 Days 5 Days Avg Velocity 5 Stories/25 pts 3 Stories/12 pts 4 Stories/17 pts 4 Stories/18 pts !68
  69. 69. ToC Example Applied http://www.strongandagile.co.uk/index.php/the-hourglass-scrumban-board/ !69
  70. 70. Workflow The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system Design Dev !70 Test
  71. 71. Workflow The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system Requirements Design Dev ? !71 Test
  72. 72. Workflow The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system Requirements Design Dev ? Test Release ? !72
  73. 73. Inventory !73
  74. 74. Links & Books • I’m not a bottleneck I’m a free man(http://www.agilecoach.net/coach-tools/bottleneck-game/) • http://www.allpar.com/corporate/empowered-work-teams.html#ixzz2MwYdgDYk !74
  75. 75. Thank You ! Questions ? Craig Strong! @craigstrong craig.strong@c6s.co.uk www.strongandagile.co.uk Daryn Holmes! @darynholmes darynholmes@gmail.com !75 http://darynholmes.wordpress.com
  1. A particular slide catching your eye?

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

×