kanban basics for beginners

33
Kanban Basics for Beginners created by Zsolt Fabók ([email protected]) June 22, 2011 @ kaizen WIP kaikaku flow value stream mapping visualize work flow cycle time lead time throughput TPS build failed CFD

Upload: zsolt-fabok

Post on 16-May-2015

10.757 views

Category:

Technology


3 download

DESCRIPTION

Presented at the Budapest Lean and Kanban meetup, June 22, 2011

TRANSCRIPT

Page 1: Kanban Basics for Beginners

Kanban Basics for Beginners

created byZsolt Fabók ([email protected])

June 22, 2011 @

kaizen WIP kaikaku flow value

stream mapping visualize work flow cycle time lead time throughput TPS build failed CFD

Page 2: Kanban Basics for Beginners

Our goal for today

● Have an idea where Kanban comes from

● Understand the core principles of Kanban

● Going down the Rabbit's hole

● Discuss open questions

● The coin game

Page 3: Kanban Basics for Beginners

Before saying anything:

"I promise not to exclude from consideration any idea based on its source, but to consider ideas across schools and heritages in order to find the ones that best suit the current situation." [1]

This means the end of statements like “That’s no good – it’s not agile / object-oriented / pure / etc…”, but rather a discussion about whether idea (agile or plan-driven or impure or whatever) works well in the conditions of the moment.

Page 4: Kanban Basics for Beginners

Chapter I

Origin

Page 5: Kanban Basics for Beginners

A dream business model:

...make an idea possible with the lowest amount of work

Page 6: Kanban Basics for Beginners

Unfortunately, reality is a little bit different...

...you have to invest some money, but - and I don't want to ruin your day - , but you'll have to do some work as well

+ +

Building software is very expensive, so we need a methodology which makes it less expensive

Page 7: Kanban Basics for Beginners

Between 1940 and 1950, Japan and Toyota weren't in the best economical condition

But Toyota had a plan to survive (TPS, [2]):

● Maximize customer value while minimizing waste

● Improve the production process continuously

● Bring out the best from the people

Page 8: Kanban Basics for Beginners

This is the 8th slide and no Kanban so far...

WHERE IS IT?

Page 9: Kanban Basics for Beginners

My apologies... it is there... at the X

Page 10: Kanban Basics for Beginners

By definition, Kanban is a pull-based inventory control system ([2])

Why did Toyota need an inventory control system?

Because inventory is waste, and as such, it needs to be eliminated

(warning: according to Wikipedia, Kanban isn't an inventory control system, but that article hasn't been verified yet [3])

Page 11: Kanban Basics for Beginners

Still nothing usable on Kanban, you are talking about waste...

All right, I'll play along... WHERE IS IT, AND WHAT IS IT?

Page 12: Kanban Basics for Beginners

As you wish...

+ +

It is here

There are three kinds of waste:

● Muda: damage, wastage, loss, unnecessary expenditure, unnecessary effort

● Muri: overload, overburden, congestion, perversity

● Mura: Unevenness, imbalance, fluctuation, irregularity, deviation

Page 13: Kanban Basics for Beginners

Lean thinking and Kanban helps Toyota deliver quality products with lower investment

Maybe it could work for software development as well, maybe...

Let's see how it works in software development...

It is working for the chef...

Page 14: Kanban Basics for Beginners

Chapter II

Principles

Page 15: Kanban Basics for Beginners

First principle: visualize the flow

This is the flow, your actual process!

There is no such thing as a standalone Kanban system

It is always applied on a software development process like Waterfall, Scrum, XP, DSDM or a company-specific one

Page 16: Kanban Basics for Beginners

I visualize my flow in a more transparent way

...because "arrows" and non-visible process states won't help you find waste and improvement areas

Page 17: Kanban Basics for Beginners

What do you see on this picture?

I see a huge inventory (11 items), and no customer value

Page 18: Kanban Basics for Beginners

Block your flow so that items will push each other out...

regular approach single piece flow

Page 19: Kanban Basics for Beginners

Second Principle: Limit the actual work in progress (WIP)

Exercise: what needs to be done if the customer wants item 'F' delivered in three days?

Page 20: Kanban Basics for Beginners

What shall I do when I become available?

● start something new

● or help finish something(preferred)

priority

Page 21: Kanban Basics for Beginners

So far so good, when will I see any income?

In this case, let's say that item 'A' has been finished in 6 days...

...in 6 days?

...that's the lead time lead timeIs this enough? According to Lean, of course...

The answer is: no. You should improve it continuously (Kaizen) or drastically (Kaikaku)

Page 22: Kanban Basics for Beginners

Third Principle: continuous improvement for faster delivery and faster feedback

lead timecycle time

queued timeworking time

Page 23: Kanban Basics for Beginners

Chapter III

The rabbit's hole

Page 24: Kanban Basics for Beginners

The flow is continuous, it is always changing, like a river. There is no other choice than adaptation

[re] visit, [re] prioritize, improve everywhere

=

Page 25: Kanban Basics for Beginners

For faster delivery:

■ Use MMF (Minimal Marketable Function)it is small, travels fast through the system, but still holds customer value

■ Apply Little's Lawsmall batches also travel fast through the system, and it's better to have a fresh apple every day, than a bucket of rotten apples at the end of the week

■ Limit the amount of avatarspeople will do less context switching, which increases the speed of the items they are working on [4]

Page 26: Kanban Basics for Beginners

Prioritise by:

■ business value

■ cost of delay

■ service level agreement (SLA)

■ actual resource availability

■ current throughput and load

Page 27: Kanban Basics for Beginners

Look back, evaluate, and improve:

source: [5]

Page 28: Kanban Basics for Beginners

Closing words

● Don't work on a feature that nobody wants

● Don't write a document that nobody will read

● Don't write code that nobody can/will test

● Don't test a feature that cannot be deployed

And there is a huge difference between being efficient and effective [6]

Page 29: Kanban Basics for Beginners

Thank you very much for your attention!

For more Kanban-related topics, check out my website:http://zsoltfabok.com/

Page 30: Kanban Basics for Beginners

Chapter IV

The Coin Game

source: [7]

Page 31: Kanban Basics for Beginners

References:

[1] http://alistair.cockburn.us/Oath+of+Non-Allegiance

[2] http://www.kellogg.northwestern.edu/course/opns430/modules/lean_operations/ohno-tps.pdf

[3] http://en.wikipedia.org/wiki/Kanban

[4] http://www.zsoltfabok.com/blog/2010/06/more-kanban-numbers/

[5] http://paulklipp.com/images/Interpreting_a_Cumulative_Flow_Diagram.jpg

[6] http://leanandkanban.wordpress.com/2011/03/22/lean-is-about-eliminating-waste-right/

[7] http://xtinaq.wiki.zoho.com/CoinGame.html

Page 32: Kanban Basics for Beginners

Recommended websites:

http://blog.crisp.se/henrikkniberg

http://www.limitedwipsociety.org/

http://agilemanagement.net/

http://leanandkanban.wordpress.com/

Page 33: Kanban Basics for Beginners

Recommended books: