Upload
pearson-plc
View
2.396
Download
0
Embed Size (px)
DESCRIPTION
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
Citation preview
Making Changes That Matter
Theory Of Constraints - A Fundamental Systems Thinking Principle!
Craig Strong!@craigstrong [email protected]
Daryn Holmes!@darynholmes [email protected]
http://darynholmes.wordpress.com!1
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
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
From Manufacturing To Software
!4
Lead Time ?
The elapsed time between starting and finishing a defined process
!5
Kanban Workflow
Story
Story
Story
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Story
Story
Day 0 Output : 0
!6
00
System WIP = 2
Kanban Workflow
Story
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Story
Story
Day 1 Output : 0
!7
11
Story
Story
System WIP = 2
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 1 Output : 0
!8
11
Story
00
Story
Story
System WIP = 4
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 1 Output : 0
!9
11
Story 00Story
Story
System WIP = 4
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 1 Output : 0
!10
11
Story 00Story
Story
Story
Story
System WIP = 4
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 2 Output : 0
!11
22
11
Story
Story
Story
00
System WIP = 6
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 2 Output : 0
!12
22
11
Story
Story
Story
00
System WIP = 6
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 2 Output : 0
!13
22
11
Story
Story
Story
00
Story
Story
System WIP = 6
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 3 Output : 0
!14
33
22
Story
11
Story
Story
00
System WIP = 8
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 3 Output : 0
!15
33
22
Story 11Story
Story
00
System WIP = 8
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 3 Output : 0
!16
33
22
Story 11Story
Story
00
Story
Story
System WIP = 8
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 4 Output : 0
!17
44
33
22
Story
11
Story
Story
00
System WIP = 10
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 4 Output : 0
!18
44
33
22
Story 11Story
Story
00
System WIP = 10
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 4 Output : 0
!19
44
33
22
Story 11Story
Story
00
Story
Story
System WIP = 10
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 5 Output : 2
!20
55
44
33
22
Story
11
Story
Story
00
System WIP = 10
Kanban Workflow
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
Day 5 Output : 2
!21
55
44
33
22
Story
11
Story
Story
00
System WIP = 10
Flow Explained
Day 5 Output : 2
Lead Time = 5 Days
Lead Time =WIP / Throughput
!22
5 Days = 10 / 2
SimulatorTheory Of Constraints
!23
Matchstick Game Simulator
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
Story
Story
Story
Story
Story
Story
Story Story
Story
Story
Story
Story
Story Story Story
Story Story
Story
Ready In Progress In Progress In ProgressDone Done Shipped
Design Development Test
WIP LIMIT
!26
Initial System State
Backlog Design Development Testing
Min Output 1 1 1
Max Output 10 10 4
WIP 10 40 40 20
!27
500 Cycles Later
!28
Results After 500 Cycles
Deployed UnitsAvg !
Throughput !(Per Cycle)
Avg !WIP
Avg!Lead Time
1237 2.47 105.67 41 Cycles
!29
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
Present CFD
!31
Underneath The Hood Lead Time
0
4
8
12
16
Design Backlog Design Doing Design Done Dev Doing Dev Done Test Doing
7.98
15.50
0.27
15.38
0.75
2.98
Lead Time
Design (LT = 3.73) Dev (LT = 15.65) Test (LT = 23.48)
!32
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
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
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
Lead Time And Feedback
Handoffs and approvals slow down the Build-Measure-Learn feedback loop and inhibit both learning and accountability
!36
The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries
Backlog Design Development Testing
Min 1 1 1
Max 10 10 4
WIP 10 40 40 20
Exploit The Bottleneck
!37
Backlog Design Development Testing
Min 1 1 1
Max 10 10 6 (+2)
WIP 10 40 40 6 (max)
!38
Exploit The Bottleneck
500 Cycles Later
!39
Results 500 Cycles
Deployed!Units Throughput Avg WIP Lead Time Improved
Lead Time
Original 1237 2.47 105.67 41 Cycles
Exploited Bottleneck 1727 3.45 90.86 26 Cycles 36%
!40
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
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
Backlog Design Development Testing
Min 1 1 1
Max 10 10 6
WIP 10 (40) Now 12 (40) Now 12 6
Subordinate Bottleneck
!43
500 Cycles Later
!44
Results 500 Cycles
Deployed!Units Throughput Avg WIP Lead Time Improved
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
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
Subordinate Every Decision To The Bottleneck
Lean from the Trenches: Managing Large-Scale Projects with Kanban by Henrik Kniberg
!47
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.
Solving Problems Together
!48
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
Backlog Design Development Testing
Min 1 1 1
Max 10 10 6
WIP 10 12 12 6
Subordinate Bottleneck
!50
500 Cycles Later
!51
Cross Functional Distribution
Over 500 Cycles
0
50
100
150
200
Design Development Testing
0
191
38
10
121
1
13
0
Design Development Testing
!52
Results 500 CyclesDeployed
Units Avg TP Avg WIP Avg CT Change CT
Original 1237 2.47 105.67 41 Days
Exploited Bottleneck 1727 3.45 90.86 26 Days 36%
Subordinate
Everything1750 3.49 36.25 10 Days 75.6%
CFT 2184 4.36 35.27 8 Days 80.5%
Deployed!Units Throughput Avg WIP Lead Time Improved
Lead Time
!53
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
Better working Environments
Elevate the bottleneck!55
Better Tools
Elevate The Bottleneck
!56
Pairing - Team Work
!57
Elevate The Bottleneck
Backlog Design Development Testing
Min 1 1 1
Max 10 10 6
WIP 10 12 12 6
Elevate Bottleneck
!58
Backlog Design Development Testing
Min (+3) 4 (+3) 4 (+1) 2
Max (-4) 6 (-4) 6 (-2) 4
WIP 8 8 8 4
Elevate Bottleneck
!59
500 Days Later
!60
Results 500 Cycles
Deployed!Units Throughput Avg WIP Lead Time Improved
Lead Time
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
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.
!62
The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries
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.
!63
The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries
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
Original CFD
!65
Present CFD
Original Capacity
Time & Cost
!66
Deviation Comparison
Original
!67
Elevate
Lead Time Built Into Scrum
Story
Story
Story
Story
Story
Story
Story
Story
Story
Story
Story
Story
Sprint 1 Sprint 2 Sprint 35
2
8
5
5
8
8
2
8
2
2
5
5 Stories/25 pts 3 Stories/12 pts 4 Stories/17 pts
5 Days 5 Days5 Days
Lead Time = WIP/Throughput
4 Stories/18 pts
Avg Velocity
5 Days = 4 Stories/0.8 Or
5 Days = 18 pts /3.6
Littles Law
!68
ToC Example Applied
!69
http://www.strongandagile.co.uk/index.php/the-hourglass-scrumban-board/
WorkflowThe bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system
Design Dev Test
!70
WorkflowThe bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system
Design Dev Test
!71
Requirements
?
WorkflowThe bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system
Design Dev Test
!72
Requirements Release
? ?
Inventory
!73
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
Thank You !
Questions ?
!75
Craig Strong!@craigstrong [email protected]
Daryn Holmes!@darynholmes [email protected]
http://darynholmes.wordpress.com!75