Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve...

37
How to Relieve Bottlenecks in Agile Flows 26 October 2016

Transcript of Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve...

Page 1: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

How to Relieve Bottlenecks in Agile Flows

26 October 2016

Page 2: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Thanks to our sponsors

Assurity Consulting

ASB Bank

Software Engineering Research Laboratory

Page 3: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

This event

1. Restrooms

2. Fire exits

3. Timing

4. Introduction

Page 4: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

How to Relieve Bottlenecks

in Agile FlowsGary Bartlett

@PatternsGuy

[email protected]

https://www.linkedin.com/in/garybartlettprodsol

021 776 390

Some advice…

Page 5: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Outline5

Flow-Rate

Acceleration

Flow-Time

Reduction

Defrag Your Brain!

DeliberateGenius

12

3

4

© Copyright Prodsol

Page 6: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Flow-Rate

Acceleration

1

Page 7: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

1. Flow-RATE Acceleration: Concept

7

The flow-rate

through the

bottleneck

What determines

the end-to-end

flow-rate?

By improving the

flow-rate through

the bottleneck

How does

one improve

the end-to-end

flow-rate?

How about

improving the

flow-rate

elsewhere?

Below the bottleneck

improvements increase costs

without securing any benefit.

Above the bottleneck

improvements increase costs and

tend to make things worse.

© Copyright Prodsol

Page 8: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

4 4 4 4 48. Increase

bottleneck

capacity

QC

3 3 3 3 37. Pre- & post-

processingQC

1. Accelerate the Flow-RATE: Method

1. Draw the

flow system

8 7 6 2 92. Find the

bottleneck

8 7 63. Introduce QC

pre-bottleneck QC

8 7 6 2.2 94. Optimise the

bottleneck QC

8 7 6 3 95. Choke the

in-flow QC

2

See “The Goal” (Theory Of Constraints) by Eli Goldratt

3 3 3 3 36. Buffer the

bottleneck QC

4 4 4 4 47. Pre- & post-

processingQC

6 6 6 4 68. Increase

bottleneck

capacity

QC

2 9

3 3 3 3

2.2

3

2

8 7 6 2 93. Introduce QC

pre-bottleneck QC 2.2

© Copyright Prodsol

Page 9: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

1. Accelerate the Flow-RATE: Exercise

We’ll cover discussing accelerating your Flow-RATE in the following sections…

1. Draw the flow system

2. Find the bottleneck

3. Introduce QC pre-bottleneck

4. Optimise the bottleneck

5. Choke the in-flow

6. Buffer the bottleneck

7. Pre- & post-processing

8. Increase bottleneck capacity

Page 10: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Flow-Time

Reduction2

Page 11: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

2. Flow-TIME Reduction: Concept

11

WAIT

TIME

TRAVEL

TIME

PROCESS

TIME

REWORK

TIME

SETUP

TIME

© Copyright Prodsol

Page 12: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

2. Flow-TIME Reduction: Method

1. Draw the

flow system

4. Draw the end-to-end timewheel 3

4

PROCESSTIME

TRAVELTIME

WAITTIME

REWORKTIME

SETUPTIME

2

3

4

5. Add the contribution

timewheels for each time

cost-type

6. Work out how to apply the

standard techniques across the

board.

7. Work out how to apply the

standard techniques at each

problematic step.

2. Estimate the time

costs at each step

R=

W=

S=

T=

P =

R=

W=

S=

T=

P =

R=

W=

S=

T=

P =

R=

W=

S=

T=

P =

R=

W=

S=

T=

P =

8 7 63. Introduce QC

pre-bottleneck3. Draw time-wheels

for each step W

RP

T

W

W

PSR

WT

T

SS

P PWT

P

12

4 3

5

21

34

5

15

34

Page 13: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

2. Flow-TIME Reduction: Wait-Time

13

Most likely finish expert

estimate

50% 50%90% 10%

pro

bab

ilit

y

timeWorst previous

experience

eff

ort

time

The problem with task duration estimates

Task completion probability

Effort over time

Google “Critical Chain” © Copyright Prodsol

Page 14: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

2. Flow-TIME Reduction: Wait-Time14

The problem with adding contingency to tasks

Lates accumulate – earlies don’t, so

When we lose, we lose and

When we win, we don’t win!

....but we never win!

Parkinson’s Law: Work expands to fill the time available

Compounded by Student Syndrome: Delay starting ‘til

the latest possible moment

The hidden contingency in expert estimates

Google “Critical Chain” © Copyright Prodsol

Page 15: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

2. Flow-TIME Reduction: Wait-Time15

1. Draw the flow/sprint plan

(Normal (cautious) task duration estimates)

2. Expose the contingency

(50% is a good rule of thumb, in an expert environment)

3. Remove the contingency

4. Put half of it back – on the entire Project/Sprint/Process Flow

Savings

overruns

overruns

Google “Critical Chain” © Copyright Prodsol

Page 16: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

16

Defrag Your Brain!

3

Page 17: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

3a. The Impact of Multitasking

on the Human Brain

17

Page 18: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

The Multitasking Challenge18

MULTITASKING IS A MYTH

12345678910111213141516171819

Time

Time

M1U2L3T4I5T6A7S8K9I10N11G12I13S14A15M16Y17T18H19

123456789101112131415161719819

MULTITASKING IS A MYTH

Page 19: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

The cost of multitasking

How long does it take the

human brain to reach

deep concentration

on a challenging task?

Up to 40 minutes.

14 minutes

at the best time of the day.

(23’15’’ ave. in software development)

19

Page 20: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

The costs of multitasking

20

i. The Task Interleaving Effect

A A A

B B B

Finish A

Finish B

Assuming 100% efficiency (zero switching cost)

Finish A & B

ii. The Task-Switching Overhead

Task-Switching

Overhead

iii. The Parallel Processing Overhead

Task A

TMO

Task

Management

Overhead

Task A

Task BTask BTask C

Task A

Task

Management

Overhead

iv. Destroyed Neurocognitive Momentum

v. Accelerated Neurochemical Depletion

1. Understanding

2. Deciding/prioritising

3. Recalling

4. Memorising

5. Inhibiting

vi. Arrested Capability Development

Myelin

Page 21: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

3b. Simple Defrag Techniques

we already know how to use

21

The size of the opportunity

How much time and energy will you free up if you reduce the

number of significant context switches by one per hour?

15m x 8h = 2h x 5d = 10h

Check out: http://www.codinghorror.com/blog/2006/09/the-multi-tasking-myth.html© Copyright Prodsol

Page 22: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Personal Defrag22

Task A Task B Task C Task B Task A Task C Task A

start end

Task B End Task C End Task A End

Task ATask B Task C

end

Task B End Task C EndTask A End

Time Savings

start

© Copyright Prodsolstart

Task FTask DTask C Task GTask A Task H

Task A Task C Task D Task F Task G Task H

start end

Task B Task E Task I

Task B Task E Task I

end

Time Savings

© Copyright Prodsol

1. Task Completion Approach – TCA

2. Task Batching Technique – TCA

Random task sequence

Random Task-Switching

Page 23: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Dealing with Interruptions

23

3. FocusTime Scheduling – FTS (Internal Interruptions)

FTS F FTS FTS

5. Scheduled Catch-Ups – SCU (Internal Interruptions +)

SCU SCU SCU SCU

IPS IPS

6. Interruption Processing Slots – IPS (External Interruptions)

IPSIPS

SIW SIWSIW SIW

4. Scheduled Interruption Windows – SIW / Duty Slots (Internal Interruptions +)

SIW

© Copyright Prodsol

Page 24: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Homework: My Defrag Plan

24

Time Monday Tuesday Wednesday Thursday Friday Saturday Sunday

7:00

7:30

8:00

8:30

9:00

9:30

10:00

10:30

11:00

11:30

12:00

12:30

13:00

13:30

14:00

14:30

15:00

15:30

16:00

16:30

17:00

17:30

Page 25: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

When it’s unavoidable

25

Task B

Task A

Task B

Task A

1. Progress so far

2. Next steps

3. Challenges

4. Solution ideas

MBM

Review

MBM

CaptureTask A

start

Task A

start end

Time Savings

end1. Done

2. Doing

3. Next 1. Next steps © Copyright Prodsol

8. Mental Bookmarking – MBM

How to preserve neurocognitive momentum

7. Time Allocation Planning and Scheduling (TAPAS)

Allocate a percentage of time for each of your primary work types – and schedule in Focus Time during your

week/fortnight to reflect those percentages

(e.g. 25% Support | 10% Training | 15% Prototyping | 50% Coding)

Page 26: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

DeliberateGenius

4

Page 27: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

a. Provisionals / Prototyping

27

Develop a provisional prototype – no matter how inadequate – and enhance it iteratively.

© Copyright Prodsol

Steps Notes

1. Generate a provisional

prototype (Spec, user story /

epic, pseudo code outline, test

procedure.

It doesn’t matter how inadequate

and uninformed it is – speed is

everything” quality will emerge

iteratively.

2. Enhance your provisional

iteratively

Perfection is not the objective here

– speed of improvement is.

3. Repeat until you’re happy, out

of ideas or time.

Repeat 3-5 times – then give your

brain a break or have a pair review

session.

Page 28: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Provisional Solution Exercise

28

What am I currently doing about it?

My Provisional Solution, going forward

V1

V2

v3

Problem/Challenge

© Copyright Prodsol

Page 29: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

3. Integrate thealternatives

b. Alternative Generation & Integration (AGI)

29

2. Generate alternatives

1. D/Refineprototype

(provisional)

4. ConductR&D…

…to generatealternatives

© Copyright Prodsol

Page 30: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Technique comparison30

A. D/Refineprototype

B. ConductR&D

B. Developprototype

A. ConductR&D

Undeliberate Innovation Deliberate InnovationResearch-based Innovation Prototype-based Innovation

© Copyright Prodsol

Page 31: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

AGI Innovation Speed & Quality Comparison

31

time

qua

lity

time

quality

Undeliberate Innovation Deliberate InnovationResearch-based Innovation Prototype-based Innovation

Data gathering and analysis

Putting it all together

© Copyright Prodsol

Page 32: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

AGI Exercise32

Current Provisional Alternatives

Next Generation Provisional

integrate

© Copyright Prodsol

Page 33: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Other Basic DeliberateGenius Techniques

1. GPS: Goal | Problem | Solution

2. Pattern Thinking (Instead of choosing

between solution alternatives, look for

repeating patterns across them)

3. TEASE: Target | Enhance | Accelerate |

Streamline | Energise

4. CFMP: Assess the solution against Common

Failure Mode Patterns

© Copyright Prodsol

Page 34: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Coming events

Next Event :

Speaker:

Date:

Time:

Venue:

Page 35: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Thanks to our sponsors

Assurity Consulting

ASB Bank

Software Engineering Research Laboratory

Page 36: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Special Thanks

1. Event organised by volunteers

2. Jim from SERL for venue and cateringSoftware Engineering Research Laboratory

Page 37: Deep Dive: How to Relieve Bottlenecks in Agile Flowsfiles.meetup.com/1787135/How to Relieve Bottlenecks... · 1. Accelerate the Flow-RATE: Exercise We’ll cover discussing accelerating

Let’s stay in touch!

@AgileAuckland

meetup.com/Agile-Auckland/

Group: Agile Auckland

[email protected]