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

Post on 07-May-2015

2394 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

Transcript

Making Changes That Matter

Theory Of Constraints - A Fundamental Systems Thinking Principle!

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

Daryn Holmes!@darynholmes darynholmes@gmail.com

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 craig.strong@c6s.co.ukwww.strongandagile.co.uk

Daryn Holmes!@darynholmes darynholmes@gmail.com

http://darynholmes.wordpress.com!75

top related