Kanban: Why It Works - SoftTech.ph 2014

Preview:

Citation preview

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

info@orangeandbronze.com

g+ gplus.to/lorenzo.deetwitter @lorenzodeewww lorenzo-dee.blogspot.comgithub github.com/lorenzodee