Kanban Basics for Beginners

Post on 16-May-2015

10,752 views 3 download

Tags:

description

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

transcript

Kanban Basics for Beginners

created byZsolt Fabók (me@zsoltfabok.com)

June 22, 2011 @

kaizen WIP kaikaku flow value

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

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

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.

Chapter I

Origin

A dream business model:

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

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

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

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

WHERE IS IT?

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

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

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

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

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

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...

Chapter II

Principles

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

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

What do you see on this picture?

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

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

regular approach single piece flow

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?

What shall I do when I become available?

● start something new

● or help finish something(preferred)

priority

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)

Third Principle: continuous improvement for faster delivery and faster feedback

lead timecycle time

queued timeworking time

Chapter III

The rabbit's hole

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

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

=

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]

Prioritise by:

■ business value

■ cost of delay

■ service level agreement (SLA)

■ actual resource availability

■ current throughput and load

Look back, evaluate, and improve:

source: [5]

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]

Thank you very much for your attention!

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

Chapter IV

The Coin Game

source: [7]

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

Recommended websites:

http://blog.crisp.se/henrikkniberg

http://www.limitedwipsociety.org/

http://agilemanagement.net/

http://leanandkanban.wordpress.com/

Recommended books: