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
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmes
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. 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. 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
5. Lead Time ?
The elapsed time between starting and finishing a defined process
!5
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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
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. 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. 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. 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. 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
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. 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
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. 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. 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
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
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. 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
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. 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. 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. 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
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
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. 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. 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