Kanban: Why It Works - SoftTech.ph 2014
-
Upload
lorenzo-dee -
Category
Technology
-
view
147 -
download
1
Transcript of Kanban: Why It Works - SoftTech.ph 2014
What It Is, and Why It Works
Lorenzo DeeVP of Consulting, O&BSoftTech.ph 2014
#softtechph 2/62
#softtechph
Source: commons.wikimedia.org
4/62
#softtechph
Source: 75 Years of Toyota
5/62
#softtechph
Source: 75 Years of Toyota
6/62
#softtechph 7/62
#softtechph 8/62
#softtechph
Source: http://en.wikipedia.org/wiki/Tokyo_Imperial_Palace
9/62
#softtechph
Source: http://www.shawcat.com/2014/02/higashigyoen.html
10/62
#softtechph
Source: http://jumpingforjapan.blogspot.com/2012/08/the-ooku-land-of-gardens-and-sprouts-3.html
11/62
#softtechph 12/62
#softtechph
Source: What can traffic in stockholm teach you about your development process by Håkan Forss
13/62
Kanban is a method for managing knowledge work with an emphasis onjust-in-time delivery while not overloading the team members.
In this approach, the process, from definition of a task to its delivery to thecustomer, is displayed for participants to see and team members pullwork from a queue.
#softtechph
Source: Wikipedia
14/62
Kanban can be divided into two parts:
#softtechph
Kanban system (small "k")
The Kanban method (capital "K")
Source: Wikipedia
15/62
#softtechph
The word "kanban" (small "k") refers to (看板).
A "kanban system" (small "k") refers to a pull system implemented with(virtual) . A visual process management system that tellswhat to produce, when to produce it, and how much to produce.
The "Kanban Method" (capital "K") (as formulated by David J. Anderson) is anapproach to incremental, evolutionary process and systems change fororganizations. It uses a as thecore mechanism to expose system operation (or process) problems andstimulate collaboration to continuously improve the system.
Source: Kanban: Successful Evoluoutionary Change for Your Technology Business by David J. Anderson
16/62
To summarize, the Kanban method:
to continously improve the system.
#softtechph
uses a "pull" system,
limits work-in-process,
and exposes (or displays visually) the system operation (problems),
17/62
#softtechph
Why use a "pull" system?
Why limit WIP (Work-In-Process)?
Why expose the process for all participants to see? Why make it visible?
19/62
Source: http://www.funnystuff.today/2013/12/push-if-that-doesn-work-pull.html
#softtechph
Push System
Pull System
Resources are provided to the consumer based on forecasts or schedules.
Make all we can (just-in-case).
A method of controlling the flow of resources by replacing only what hasbeen consumed.
Make what's needed when we need it (just-in-time).
21/62
#softtechph 22/62
#softtechph
Balances demand against throughput
Eliminates (reduces) waste
23/62
If you are working on something exciting that
you really care about, you don't have to be
pushed. The vision pulls you.
“
”
Steve Jobs (1955 - 2011)
Apple
(emphasis added)
Little's Law:
L = average number of users in the system
λ = rate at which users arrive in the system
W = average waiting time that a user spends in the system
#softtechph 25/62
Little's Law:
Let's say, at a store, customers arrive at a rate of 10 per hour, and...
#softtechph 26/62
Little's Law:
Let's say, at a store, customers arrive at a rate of 10 per hour, and stay anaverage of 0.5 hours.
Based on Little's Law, we should find that the average number of customers inthe store at any time to be...
#softtechph 27/62
Little's Law:
Let's say, at a store, customers arrive at a rate of 10 per hour, and stay anaverage of 0.5 hours.
Based on Little's Law, we should find that the average number of customers in
the store at any time to be 5.
#softtechph 28/62
Little's Law:
L = average number of users in the system
λ = rate at which users arrive in the system
W = average waiting time that a user spends in the system
#softtechph 29/62
Little's Law:
L = average number of users in the system (work-in-process)
λ = rate at which users arrive in the system (throughput)
W = average waiting time (or cycle time) that a user spends in the system
#softtechph 30/62
#softtechph 31/62
/min
#softtechph 32/62
/min min
#softtechph 33/62
/min
#softtechph 34/62
/min min
#softtechph 35/62
/min
#softtechph 36/62
/min min
#softtechph 37/62
To improve cycle time, only two options are available:
#softtechph
Increase throughput
Reduce WIP
38/62
What does WIP reduction have to do with software development?
There is causation between quantity of WIP
and average lead time (or cycle time), and the
relationship is linear.
“
”
David J. Anderson, p. 27,
Kanban: Successful Evoluoutionary Change for Your Technology Business
Longer lead times seem to be associated with
significantly poorer quality.
“
”
David J. Anderson, p. 27,
Kanban: Successful Evoluoutionary Change for Your Technology Business
In fact, an approximately six-and-a-half times
increase in average lead time resulted in a
greater than 30-fold increase in initial defects.
“
”
David J. Anderson, p. 27,
Kanban: Successful Evoluoutionary Change for Your Technology Business
However, at the time of writing there is no
scientific evidence to back up this empirically
observed result.
“
”
David J. Anderson, p. 28,
Kanban: Successful Evoluoutionary Change for Your Technology Business
#softtechph 43/62
#softtechph 44/62
#softtechph
Source: http://blog.codinghorror.com/the-multi-tasking-myth/
45/62
#softtechph
Source: http://www.enmast.com/2013/12/effects-of-multitasking/
46/62
#softtechph
Limiting WIP limits cycle time and average lead time
Increased lead times lead to increase in initial defects and poorer quality
47/62
#softtechph 48/62
#softtechph
Source: Scrum and XP from the Trenches, by Henrik Kniberg
49/62
#softtechph
Source: Scrum team converts to Kanban
50/62
#softtechph
Source: www.crips.se/kanban/example
51/62
#softtechph 52/62
#softtechph 53/62
#softtechph 54/62
#softtechph 55/62
#softtechph
Source: Slack Time
56/62
#softtechph
Source: Slack Time
57/62
#softtechph
Source: Slack Time
58/62
#softtechph
Source: Slack Time
59/62
#softtechph
Allows everyone see the system (and its bottlenecks if any)
Allows the team to self-organize earlier
60/62
To summarize, the Kanban method works because:
to continously improve the system.
#softtechph
it uses a "pull" system,
limits work-in-process,
and exposes (or displays visually) the system operation (problems)
61/62
g+ gplus.to/lorenzo.deetwitter @lorenzodeewww lorenzo-dee.blogspot.comgithub github.com/lorenzodee