Kanban : optimising for predictability

31
KANBAN Optimising for predictability

description

How to turn small tasks into a predictable flow of deliverables and use lean principles to experiment, measure and learn in the process.

Transcript of Kanban : optimising for predictability

Page 1: Kanban : optimising for predictability

KANBANOptimising for predictability

Page 2: Kanban : optimising for predictability

Topics

Principles & Definitions Visualising workflow Limiting work in progress (WIP) Measuring & Reporting Continuous improvement Benefits to Kanban Q&A (if I can)

Page 3: Kanban : optimising for predictability

Topics

Principles & Definitions Visualising workflow Limiting work in progress (WIP) Measuring & Reporting Continuous improvement Benefits to Kanban Q&A (if I can)

LEAN

Page 4: Kanban : optimising for predictability

Principles & Definitions

“A methodology for managing the flow of work to allow for evolutionary change”

Is based on visualisation Follows a pull not push principle Believes in constraining the process to improve predictability and

quality Has continuous improvement at its core

Page 5: Kanban : optimising for predictability

Visualising workflow

Page 6: Kanban : optimising for predictability

Visualising workflowThe

board

Page 7: Kanban : optimising for predictability

Visualising workflowA set of columns that are defined

by the team

Page 8: Kanban : optimising for predictability

Visualising workflowThey are

activities and not job roles

Page 9: Kanban : optimising for predictability

Visualising workflow

Work in progress

Page 10: Kanban : optimising for predictability

Visualising workflow

Work done (in the buffer)

Page 11: Kanban : optimising for predictability

Visualising workflow

Lead time

Page 12: Kanban : optimising for predictability

Visualising workflow

Page 13: Kanban : optimising for predictability

Visualising workflow

Cycle time

Page 14: Kanban : optimising for predictability

Visualising workflow

Page 15: Kanban : optimising for predictability

Visualising workflow

“Houston we have a problem!”

Page 16: Kanban : optimising for predictability

Visualising workflow

WIP limits / constraints

Page 17: Kanban : optimising for predictability

Limiting WIP

Following a lean principle Kanban limits the work in progress to encourage a JIT delivery of features from one stage to the next

Page 18: Kanban : optimising for predictability

Limiting WIP

Limits can be controversial in is almost certainly why Kanban adoption fails.

Some calculations can be done as a starting point for how teams should set their limits

– DEVELOPMENT = ½ of development resources• This encourages paired programming, better training and knowledge share amongst

the team and ultimately better quality code

– ANALYSIS/ELABORATION = ½ of development limit– TESTING = 2/3 of development limit– DEPLOYMENT = 1

Page 19: Kanban : optimising for predictability

Limiting WIP

Limits can be controversial in is almost certainly why Kanban adoption fails.

Some calculations can be done as a starting point for how teams should set their limits

– DEVELOPMENT = ½ of development resources• This encourages paired programming, better training and knowledge share amongst

the team and ultimately better quality code

– ANALYSIS/ELABORATION = ½ of development limit– TESTING = 2/3 of development limit– DEPLOYMENT = 1

Agencies = 3 stories for

every 4 devs.

Page 20: Kanban : optimising for predictability

Limiting WIP: Example

Page 21: Kanban : optimising for predictability

Limiting WIP: Example

Bottleneck

Page 22: Kanban : optimising for predictability

Limiting WIP: Example

BA or Dev resource could help to test to

clear this bottleneck

Page 23: Kanban : optimising for predictability

Limiting WIP: ExamplePull = Flow

Page 24: Kanban : optimising for predictability

Measuring & Reporting

We use Cumulative Flow Diagrams to assess:– Bottlenecks– Lead time– Cycle time

From these we can determine where we need to address issues in quality, invest in training or add additional resources to the team

Reporting is done daily so we start seeing feedback very quickly

Page 25: Kanban : optimising for predictability

Measuring & Reporting

Page 26: Kanban : optimising for predictability

Continuous Improvement

Continuous improvement is about polishing with tiny changes. It is not about drastic changes to processes and systems.

It can be project specific in terms of tools or resources. It could be more generic, such as knowledge sharing and

fostering a culture of collaboration. The following are the things that I believe can make the biggest

impact…

Page 27: Kanban : optimising for predictability

Continuous Improvement: CI

Get as close to one click deployments as you can Train a DevOps team to be responsible for regular deployments Consider innovative approached to infrastructure making it easy

to setup and teardown environments Invest in automated testing at both unit and functional levels that

can be executed at deployment Focus on zero downtime deployments

Page 28: Kanban : optimising for predictability

Continuous Improvement: T-shaped People

Its important to embrace that we can all do more than our job title– As a BA I can do some testing. I could even do a little bit of HTML!!– Our designers can do HTML– Our HTML people can do some designing– Our developers could test each others code

Page 29: Kanban : optimising for predictability

Continuous Improvement: T-shaped People

Its important to embrace that we can all do more than our job title– As a BA I can do some testing. I could even do a little bit of HTML!!– Our designers can do HTML– Our HTML people can do some designing– Our developers could test each others code

All of you could do my

job, it’s easy ;-)

Page 30: Kanban : optimising for predictability

Benefits to Kanban

The output of deliverables becomes predictable– Which means forecasting becomes predictable– In theory the process also becomes scalable to increase predictable outputs

It breaks down walls and encourages ‘team delivery’– Everyone is focused in shipping features, not just the guy at the end of the

process

It encourages greater collaboration and innovation– Teams focus on finding leaner ways of doing things that take less time or cost

less

Page 31: Kanban : optimising for predictability

Q&AIf we have time...