key note - agile china - kanban an alternative path to agility

60
[email protected], @djaa_dja Kanban An Alternative Path to Agility

Post on 13-Sep-2014

575 views

Category:

Business


0 download

DESCRIPTION

This talk looks at the use of virtual kanban systems in software development and IT work and how the Kanban Method offers an alternative path to agility. Rather than adopting an Agile method such as Scrum, Kanban offers a "start with what you do now" approach to improvement. The concept is pragmatic and widely applicable in a large number of political and cultural settings

TRANSCRIPT

Page 1: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

KanbanAn Alternative Path to Agility

Page 2: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

The Meaning of Agile

Page 3: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

What Agile Methods Seek to Achieve

Let’s not bore you (yet again) with a slide showing the Agile

Manifesto!

Agile methods ask us to…

Make Progress with imperfect information

Reworking & course correcting as new information arrives is better risk management & faster than

delaying for “perfect” information

Enable a high trust culture

The trust dividend eliminates bureaucracy & encourages

collaborative working & use of tacit knowledge

Treat work-in-progress as if it were a liability rather than an asset

Knowledge work is perishable. Focus on finishing things quickly

before they go stale

Create Feedback Loops & enable a capability to

adapt

With 1st gen Agile methods this was limited to adapting to changing

requirements or scope

Create a craftsmanship work ethic

Encourage high quality, well engineered code that is easily adapted (refactored) as new

information arrives and requires very little rework due to errors

Page 4: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

The Kanban Method – an alternative path to agility!

Page 5: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Kanban Method

A management & cultural approach to improvement

View creative knowledge work as a set of services

Encourages a management focus on demand, business risks and capability of each service to supply against that demand

Page 6: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

The Kanban Method is not…

A project management or software development lifecycle process

Nor, does it encourage a process-centric approach to improvement!

Page 7: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Don’t do this!...

Managers

Process

Workers

ProcessCoaches

DesignsOr

DefinesImposes

Follow

Page 8: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Kanban Method

Uses large boards to visualize invisible work and virtual signal card systems

Creates an adaptive capability in your organization

Enables adaptability in your business processes to respond successfully to changes in your business environment

Page 9: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Kanban Method

Page 10: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Kanban has two meanings

Page 11: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

6 Practices for Adaptive Capability

The Generalized Version

Visualize (with a kanban board (看板 ))Limit Work-in-progress (with kanban (かんばん ))

Manage FlowMake Policies ExplicitImplement Feedback LoopsImprove Collaboratively, Evolve Experimentally(using models & the scientific method)

Page 12: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

What is a kanban system?(かんばん )

Page 13: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

A Kanban Systems consists of “kanban” (かんばん ) signal

cards in circulation

Page 14: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Using a virtual kanban system

Page 15: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

H

FF FF FF J

I

PullChange

Requests

Kanban are virtual!Backlog

D

E

A

I

Engin-eeringReady

G

5Ongoing

Development Testing

Done3 3

TestReady

5

PTCs

F

B

CPull

PullThese are the virtual kanban

*

These are the virtual kanbanThese are the virtual kanbanThese are the virtual kanban

The board is a visualization of the workflow process, the work-in-progress

and the kanban system

Boards are not required to do Kanban!

The first system used database triggers to signal pull. There was no board!

UATDeploy-

mentReady

∞ ∞

Page 16: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Wish to avoid discard after commitment

Commitment is deferredBacklog

H

EC A

I

Engin-eeringReady

D

5Ongoing

Development Testing

Done3 3

TestReady

5

PTCs

Commitment point

We are committing to getting started. We are certain we want

to take delivery.

UATDeploy-

mentReady

∞ ∞

FF FF FF F

G

PullChange

RequestsItems in the backlog remain optional and unprioritized

Poolof

Ideas

Backlog

Page 17: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Abandonment rates are often high

H

E

C A

I

Engin-eeringReady

D

5Ongoing

Development Testing

Done3 3

TestReady

5

PTCs

UATDeploy-

mentReady

∞ ∞

F FF F

G

ChangeRequests

H

Abandoned

The abandon rate with XIT was 48%. ~50% is commonly observed.

Options have value because the future is uncertain

0% discard rate implies there is no uncertainty about the future

I

Reject

Deferring commitment and avoiding interrupting

workers for estimates makes sense when

discard rates are high!

Poolof

Ideas

Page 18: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Upstream Kanban Prepares OptionsReady

forEngin-eering

F

H

I

Comm-itted

D

4 Ongoing

Development

Done3

JK

12

Testing

Verification3

L

Commitment point

4 -

Requi-rementsAnalysis

2412 -

BizCaseDev

4824 -

Poolof

Ideas

Min & Max limitsinsure sufficientoptions are alwaysavailable

Committed WorkOptions

Discarded

OReject

P Q

$$$ cost of acquiring options

Page 19: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

FF FF FF F

Replenishment FrequencyUAT

H

E

C A

I

Engin-eeringReady

Deploy-mentReady

G

D

5∞

ReplenishmentOngoing

Development Testing

Done3 3

TestReady

5

PTCs

ChangeRequests

Discarded

I

The frequency of system replenishment should reflect

arrival rate of new information and the transaction &

coordination costs of holding a meeting

Pull

Frequent replenishment is more agile.

On-demand replenishment is most

agile!

Poolof

Ideas

Page 20: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

FF FF FF F

Delivery FrequencyUAT

H

E

C A

I

Engin-eeringReady

Deploy-mentReady

G

D

5∞

DeliveryOngoing

Development Testing

Done3 3

TestReady

5

PTCs

ChangeRequests

Discarded

I

The frequency of delivery should reflect the transaction &

coordination costs of deployment plus costs &

tolerance of customer to take delivery

Pull

Poolof

Ideas

Deployment buffer size can reduce as frequency of delivery

increases

Frequent deployment is more agile.

On-demand deployment is most agile!

Page 21: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

FF FF FF F

Specific delivery commitment may be deferred even later

UAT

H

E

C A

I

Engin-eeringReady

Deploy-mentReady

G

D

5∞

Pull

Ongoing

Development Testing

Done3 3

TestReady

5

PTCs

ChangeRequests

2nd

Commitmentpoint*

Kanban uses

2 Phase Commit

Discarded

I

We are now committing to a specific deployment and delivery

date

*This may happen earlier if circumstances demand it

Poolof

Ideas

Page 22: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

FF FF FF F

Defining Kanban System Lead TimeUAT

H

E

C A

I

Engin-eeringReady

Deploy-mentReady

G

D

5∞

Pull

Ongoing

Development Testing

Done3 3

TestReady

5

PTCs

ChangeRequests

System Lead Time

The clock starts ticking when we accept the customers order, not

when it is placed!

Until then customer orders are merely available options

Lead time ends when the item

reaches the first ∞ queue.

Discarded

I

Poolof

Ideas

Page 23: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Delivery RateLead Time

WIP=

Avg. Lead Time

Avg. Delivery Rate

WIP

Poolof

Ideas

ReadyTo

Deploy

Little’s Law & Cumulative Flow

Page 24: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Flow Efficiency

Done

Poolof

Ideas

FH E

C A

I

Engin-eeringReady

Deploy-mentReady

GD

GYPB

DEMN

2 ∞

P1

AB

Lead Time

Ongoing

Development Testing

Done VerificationAcceptance3 3

Flow efficiency measures the percentage of total lead time is spent actually adding value (or

knowledge) versus waiting

Until then customer orders are merely available options

Waiting Waiting WaitingWorking

Flow efficiency = Work Time x 100%

Lead TimeFlow efficiencies of 2% have been reported*. 5% -> 15% is

normal, > 40% is good!

* Zsolt Fabok, Lean Agile Scotland, Sep 2012, Lean Kanban France, Oct 2012

Working

Multitasking means time spent in working columns is often waiting

time

Page 25: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Observe Lead Time Distribution as an enabler of a Probabilistic Approach to Management

Lead Time Distribution

0

0.5

1

1.5

2

2.5

3

3.5

Days

CRs

& Bu

gs

SLA expectation of44 days with 85% on-time

Mean of 31 days

SLA expectation of105 days with 98 % on-time

This is multi-modal data!

The work is of two types: Change Requests (new

features); and Production Defects

This is multi-modal data!

The work is of two types: Change Requests (new

features); and Production Defects

Page 26: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Filter Lead Time data by Type of Work (and Class of Service) to get Single Mode Distributions

85% at10 days

Mean5 days

98% at25 days

Chan

ge R

eque

sts

Prod

uctio

n De

fect

s

85% at60 days

Mean 50 days

98% at150 days

Page 27: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Lead Time

Lead Time

Allocate Capacity to Types of Work

Done

Poolof

Ideas

F

H

E

C

A

I

Engin-eeringReady

Deploy-mentReady

G

D

GY

PBDE

MN

2 ∞

P1

AB

Separate understanding of Lead Time for each type of work

Ongoing

Development TestingDone VerificationAcceptance3 3

ChangeRequest

s

Production

Defects

Separate understanding ofLead Time for each type of work

4

3

Consistent capacity allocation should bring some consistency to delivery rate of work of each type

Consistent capacity allocation should bring more consistency to delivery rate of work of each type

Page 28: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Infinite Queues Decouple Systems

Done

Poolof

Ideas

F

H E

C

A

I

Engin-eeringReady

Deploy-mentReady

G

D

GY

PB

DE

MN

2 ∞

P1

AB

Ongoing

Development Testing

Done VerificationAcceptance3 3The infinite queue decouples the systems. The deployment system uses batches and is separate from the kanban

system

The 2nd commitment is actually a commitment for the

downstream deployment system

The Kanban System gives us confidence to make that

downstream commitment

Page 29: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Identifying Buffers

Done

Poolof

Ideas

FH E

C A

I

Engin-eeringReady

Deploy-mentReady

GD

PBDE

MN

2 ∞

P1

AB

Ongoing

Development Testing

Done verificationAcceptance3 3

I am a buffer!

The clue is in my name – “… Ready”

I am buffering non-instant availability or activity with a

cyclical cadence

I am a buffer!

The clue is in my name – “… Ready”

I am buffering non-instant availability or an activity with a

cyclical cadence

Page 30: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Visualizing Pull Signals

Done

Poolof

Ideas

FH E

C A

I

Engin-eeringReady

Deploy-mentReady

GD

GYPB

DEMN

2 ∞

P1

AB

Ongoing

Development Testing

Done verificationAcceptance3 3

I indicate “pullable”

I am not a separate queue

The WIP limit for development applies to on-going or

completed “pullable” work

Page 31: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

FF FF FF F

Defining Customer Lead TimeUAT

H

E

C A

I

Engin-eeringReady

Deploy-mentReady

G

D

5∞

Pull

Ongoing

Development Testing

Done3 3

TestReady

5

PTCs

ChangeRequests

Customer Lead Time

The clock still starts ticking when we accept the customers

order, not when it is placed!

Discarded

I

Poolof

Ideas

Done

The frequency of delivery cadence will affect customer lead

time in addition to system capability

Page 32: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

The Optimal Time to Start

impa

ct

When we need it

85th percentile

Ideal StartHere

Commitment point

If we start too early, we forgo the option and opportunity to do something else that may

provide value.

If we start too late we risk incurring the cost of delay

With a 6 in 7 chance of on-time delivery, we can always

expedite to insure on-time delivery

Page 33: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Metrics for Kanban Systems

Cumulative flow integrates demand, WIP, approx. avg. lead time and delivery rate capabilities

Lead time histograms show us actual lead time capability

Flow efficiency, value versus failure demand (rework), initial quality, and impact of blocking issues are also useful

Page 34: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Implementing a Virtual Kanban System

Do not copy an existing (virtual) kanban system!

Each system must be designed from 1st principles using the system thinking approach to implementing kanban

A study of demand including business risks & capability is essential to design an appropriate (virtual) kanban system for any given knowledge work service

Page 35: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Reminder…

The Kanban Method is not….

A project management or software development lifecycle process

Nor, does it encourage a process-centric approach to improvement!

You must “kanbanize” your existing processes and workflows!

Page 36: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Kanban Kata

Page 37: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Feedback Loops

OperationsReview

ImprovementKata

StandupMeeting

The Kanban Kata

Page 38: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Standup Meeting

Disciplined conduct and acts of leadership lead to improvement opportunities

Improvement discussions & process evolution happen at after meetings

Page 39: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Improvement Kata

A mentor-mentee relationship

Usually (but not always) between a superior and a sub-ordinate

A focused discussion about system capability

Definition of target conditions or desired outcomes

Agreement upon counter-measures – actions taken to improve capability – resulting in process evolution

Page 40: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Operations Review

Monthly meeting

Disciplined review of demand and capability for each kanban system

Provides system of systems view and understanding

Kanban system design changes & process evolution suggested by attendees

Page 41: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

6 Practices for Evolutionary DNA

The More Specific Version

Visualize work, workflow & business risks(using large physical or electronic boards in communal spaces)Implement Virtual Kanban SystemsManage FlowMake Policies ExplicitImplement Kanban KataEducate your workforce to enable collaborative evolution of policies & ways of workingbased on models of workflow from bodies of knowledge such as Theory of Constraints, Deming’s Profound Knowledge, Lean, Risk Management ideas such as Real Option Theory & Liquidity

Page 42: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Scaling out across an organization

Page 43: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Treat each service separatelyDe

man

d

ObservedCapability

Dem

and

Dem

and

ObservedCapability

ObservedCapability

Page 44: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Some systems have dependencies on others

Dem

and

ObservedCapability

Dem

and

Dem

and

ObservedCapability

ObservedCapability

Page 45: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Organizational Improvements Emerge

Page 46: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Scaling KanbanEach Kanban System is designed from first principles around a specific service

Scale out in a service-oriented fashion

Do not attempt to design a grand solution at enterprise scale

The Kanban Kata are essential!

Allow a better system of systems to emerge over time. Let evolution work!

Page 47: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Summary of Benefits

Page 48: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Collaboration Benefits

Shared language for improved collaboration

Shared understanding of dynamics of flow

Emotional engagement through visualization and tactile nature of boards

Greater empowerment (without loss of control)

Page 49: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Tangible Business Benefits

Improved predictability of lead time and delivery rate

Reduced rework

Improved risk management

Improved agility

Improved governance

Page 50: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Organizational Benefits

Improved trust and organizational social capital

Improved organizational maturity

Emergence of systems thinking

Management focused on system capability through policy definition

Organizational Adaptability(to shifts in demand and business risks under management)

Page 51: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Change Management Benefits

Significantly reduced resistance to change

Processes uniquely tailored to business environment and risk under management

Evolutionary changes reduce impact during change and lower risk of failure

Change led from the middle and enacted by the workforce. Reduced need for coaching and process specialists

Page 52: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Kanban Improves Agility

Page 53: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Learn More

http://www.limitedwipsociety.org

Page 54: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Thank you!

Page 55: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

About

David Anderson is a thought leader in managing effective software teams. He leads a training, consulting, publishing and event planning business dedicated to developing, promoting and implementing sustainable evolutionary approaches for management of knowledge workers.He has 30 years experience in the high technology industry starting with computer games in the early 1980’s. He has led software teams delivering superior productivity and quality using innovative agile methods at large companies such as Sprint and Motorola.David is the pioneer of the Kanban Method an agile and evolutionary approach to change. His latest book, published in June 2012, is, Lessons in Agile Management – On the Road to Kanban.David is a founder of the Lean Kanban Inc., a business dedicated to assuring quality of training in Lean and Kanban for knowledge workers throughout the world.

Page 56: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Acknowledgements

Hakan Forss of Avega Group in Stockholm has been instrumental in defining the Kanban Kata and evangelizing its importance as part of a Kaizen culture.

Real options & the optimal exercise point as an improvement over “last responsible moment” emerged from discussions with Chris Matts, Olav Maassen and Julian Everett around 2009.

The inherent need for evolutionary capability that enables organizational adaptation was inspired by the work of Dave Snowden.

Page 57: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

David J Anderson& Associates, Inc.

Page 58: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Appendix

Page 59: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja

Example Distributions

Stan

dardEx

pedi

te

Inta

ngib

le

Fixed

Dat

e

Page 60: Key Note - Agile China - Kanban An Alternative Path to Agility

[email protected], @djaa_dja