kanban basics for beginners
DESCRIPTION
Presented at the Budapest Lean and Kanban meetup, June 22, 2011TRANSCRIPT
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
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: