improving throughput with the theory of constraints and queuing theory

43
Improving throughput with the Theory of Constraints and Queuing Theory www.journey-to-better.com

Upload: andrew-rusling

Post on 17-Jul-2015

1.058 views

Category:

Technology


3 download

TRANSCRIPT

Improving throughput

with the

Theory of Constraints

and

Queuing Theory

www.journey-to-better.com

Aims of this presentation

For each theory:

1. Explain it in simple terms

2. Show practical application

www.journey-to-better.com

Theory of Constraints

www.journey-to-better.com

Theory of Constraints (TOC)

IdeaProcess

AProcess

BProcess

C

Customer

Where should we strive to increase throughput?

www.journey-to-better.com

Theory of Constraints (TOC)

IdeaProcess

AProcess

BProcess

C

Customer

Where should we strive to increase throughput?

5 units Per week

2 units Per week

3 units Per week

www.journey-to-better.com

Theory of Constraints (TOC)

"a chain is no stronger than its

weakest link“

Improving strong links, does not

strength the chain.

To achieve more of your goal,

improve your weakest link.

www.journey-to-better.com

1. Identify the constraint

2. Exploit the constraint

3. Subordinate all else

4. Elevate the constraint

5. Repeat

Five Focusing Steps

Get the most out of the constraint,

with only minor changes.

Major changes to the constraint,

Including increasing capacity.

www.journey-to-better.com

Practical TOC

We are going to:

1. Map team workflow to Task Board

2. Populate the board

3. Run the system

4. Use TOC to increase throughput

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Map team workflow

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Populate with current state

www.journey-to-better.com

1. Identify the constraint

Constraint: The resource or policy that prevents the organization from obtaining more of the goal.

Symptoms

• Work piles up waiting to be processed by the constraint.

• Resource is heavily stressed.

• Resources downstream from constraint are regularly idle.

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing Ready

Split Testing column

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing ReadyDoing ReadyDoing ReadyDoing Ready

Split all other columns

www.journey-to-better.com

2. Exploit the constraint

Get the most capacity out of the constrained process, with only minor changes

Some options:

• Shield them from interruptions.

• Limit their WIP.

• Reduce their non value add work.

Note: Do not ask them to do overtime.

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing ReadyDoing ReadyDoing ReadyDoing Ready

(5)

Exploit the constraintLimit WIP in Testing

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing ReadyDoing ReadyDoing ReadyDoing Ready

(5)

Let it runConstraint remains

www.journey-to-better.com

3. Subordinate all else

Align the whole system or organization to support the decisions made above.

Some options:

• Limit WIP of upstream to match.

• Upstream do preparation work.

• Upstream improve their quality.

• Pair upstream with constraint staff.

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing ReadyDoing ReadyDoing ReadyDoing Ready

(5)(5)(5)(5)

Subordinate all elseMatch upstream WIP to constraint

Devs do more test prep work.Dev-QA pairing

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing ReadyDoing ReadyDoing ReadyDoing Ready

(5)(5)(5)(5)

Let it runConstraint remains

www.journey-to-better.com

4. Elevate the constraint

Make other major changes needed to break the constraint. A.k.a. Enhance the capability of the constraint to increases its throughput further.

Some options:

• Improve their tools.

• Improve their environment.

• Improve their team work.

• Hire more people.

Why do we not do this first?

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing ReadyDoing ReadyDoing ReadyDoing Ready

(5)(5)(5)(5)

Elevate the constraintImprove tools (reduce manual effort)

Get Devs to help execute testsHire another tester

www.journey-to-better.com

Backlog Analysis & Plan Coding Review Testing Accept Done

Doing ReadyDoing ReadyDoing ReadyDoing Ready

(5)(5)(5)(5)

Let it runConstraint has been broken

www.journey-to-better.com

5. Repeat

• The bottleneck should now have shifted.

• Start all over again

www.journey-to-better.com

To increase throughput

apply the Five Focusing Steps:

1. Identify the constraint

2. Exploit the constraint

3. Subordinate all else

4. Elevate the constraint

5. Repeat

Summary – Theory of Constraints

www.journey-to-better.com

Minor changes

Large changes

Queuing Theory

www.journey-to-better.com

Queuing Theory

Began by answering the question:

How many phone lines will the Copenhagen

Telephone exchange need to handle peak

load?

Paper published by Agner Krarup Erlang in

1909

www.journey-to-better.com

Serious math

Not for today

www.journey-to-better.com

Simple principles

To increase throughput:

• Reduce utilisation

• Reduce batch size

• Reduce item size

www.journey-to-better.com

Why reduce utilisation

Queuing Theory says that in a system with variability,

increased resource utilisation leads to an increase in cycle

time.

Software development has lots of variability.

Past a tipping point the increase in cycle time is exponential.

www.journey-to-better.com

Tipping point

Utilisation0 100

Cycle

Tim

e

Tipping Point

Some examples:

• Computer CPU

• Network Router

• Building Fire Exit

• Road

www.journey-to-better.com

Tipping Point in action

Utilisation above the capacity of the road, (just one more car),created unevenness,

created delays,greatly increased cycle time.

www.journey-to-better.com

Why reduce batch size?

• Littles Law is part of Queuing Theory

Avg. Cycle Time =

Work In Progress (WIP)

Avg. Throughput Rate

www.journey-to-better.com

Throughput

Cycle Time

WIP

Batch Size

Why reduce item size?

Large items take longer to process,

leading to:

• Queues (extra WIP)

• Variability (the bad kind)

www.journey-to-better.com

Exercise – Improve highway throughput

Image: https://www.flickr.com/photos/thienzieyung/

Highway - Reduce Utilisation

Q: How would we reduce utilisation?

A: Announce blockage radio & signs.

www.journey-to-better.com

Image: https://www.flickr.com/photos/highwaysagency/

Highway - Reduce Batch Size

Q: How would we reduce batch size?

Image: https://www.flickr.com/photos/29233640@N07/

www.journey-to-better.com

Highway - Reduce Item Size

Q: How would we reduce item size?

Image: https://www.flickr.com/photos/null0/

A: Replace Trucks with Cars, Cars with Motorcycles.

www.journey-to-better.com

The good news

Queuing Theory is already built into:

• agile

• Scrum

• Kanban

www.journey-to-better.com

Queuing Theory in agile

How does agile lower Utilization?

• Promoting sustainable development.

• Customer collaboration.

How does agile lower Batch Size?

• Focus on early delivery of Working Software.

How does agile lower Item Size?

• Focus on business feedback & simplicity.

www.journey-to-better.comImage: http://www.agilemanifesto.org/

Queuing Theory in Scrum

How does Scrum lower Utilization?

• Team members 100% allocated.

• Team pulls in work to sprint.

How does Scrum lower Batch Size?

• Sprint length.

How does Scrum lower Item Size?

• Time boxing & D.O.D. encourage

splitting items.

www.journey-to-better.com

Queuing Theory in Kanban

How does Kanban lower Utilization?

• Pull approach.

• Limiting WIP.

How does Kanban lower Batch size?

• Limiting input queues.

How does Kanban lower Item size?

• Building a dry stone wall approach…

Image: https://www.flickr.com/photos/bods/www.journey-to-better.com

To increase throughput:

Lower

UtilisationWork on

smaller batches

Work on

smaller items

Summary – Queuing Theory

www.journey-to-better.com

Contact Details

Twitter @andrewrusling

Blog www.journey-to-better.com

SlideShare www.slideshare.net/andrewrusling

E-mail [email protected]

Google+ +AndrewRusling

www.journey-to-better.com