Kanban : optimising for predictability

Post on 27-Jan-2015

130 views 9 download

Tags:

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

KANBANOptimising for predictability

Topics

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

Topics

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

LEAN

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

Visualising workflow

Visualising workflowThe

board

Visualising workflowA set of columns that are defined

by the team

Visualising workflowThey are

activities and not job roles

Visualising workflow

Work in progress

Visualising workflow

Work done (in the buffer)

Visualising workflow

Lead time

Visualising workflow

Visualising workflow

Cycle time

Visualising workflow

Visualising workflow

“Houston we have a problem!”

Visualising workflow

WIP limits / constraints

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

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

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.

Limiting WIP: Example

Limiting WIP: Example

Bottleneck

Limiting WIP: Example

BA or Dev resource could help to test to

clear this bottleneck

Limiting WIP: ExamplePull = Flow

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

Measuring & Reporting

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…

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

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

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 ;-)

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

Q&AIf we have time...