Reduce WIP and Deliver Often: Kanban Recipe for Success Steps 2 and 3

Preview:

DESCRIPTION

Reduce WIP and delivering often as steps 2 and 3 in a Kanban journey

Citation preview

Reduce WIP and Deliver Often

Kanban Recipe for Success: Step Two and Three

Jason Yipj.c.yip@computer.org

jcyip@thoughtworks.com@jchyip

http://jchyip.blogspot.com

HOMEWORK CHECK

What step(s) did you take to start Focusing on Quality?

The Recipe for Success

1. Focus on Quality2. Reduce WIP3. Deliver Often4. Balance Demand Against

Throughput5. Prioritise6. Attack Variability to Improve

Predictability

REDUCE WIP

Which one is better?

Team A:95% utilisation

Team B:75% utilisation5-10 day lead time2-3 defects per 100 features

3 month lead time2 defects per feature

Focus on what customers care about OVER what (bad) managers care about

Utilisation!Quality,Lead Time

Improve quality by reducing WIP

Reducing WIP improves focus

Reducing WIP reduces accumulation of errors

Reduce lead time by reducing WIP

Little’s Law

How do you improve the flow of traffic?

WHAT ARE TACTICS TO REDUCE WIP?

Reduce batch size

• AKA break work down into smaller pieces

• See User Stories, Minimum Marketable Feature, etc.

Reduce iteration length

• 4 weeks -> 3 weeks -> 2 week -> 1 week

Limit WIP using a kanban system

http://www.infoq.com/minibooks/kanban-scrum-minibook

DELIVER OFTEN

Which approach will be more successful? Why?

First date

Wait 2 weeks

SMS on the way home “Call you

tomorrow?”

Show up with flowers and an apology

Call tomorrow

Approach A Approach B

“…small, frequent gestures or events enhance trust more than larger gestures made only occasionally.”

David Anderson

Which approach will be more successful? Why?

Successful Release

Wait 6 months

Plan another release in 2

weeks

Attempt another large

releaseRelease in 2 weeks

Approach A Approach B

Shorter lead times (from reducing WIP) make it possible to release more often

Continuous delivery is the ultimate in frequent, trust-building events

Imagine that your team / group had a long history of

delivering high quality, regularly.

What would you feel comfortable proposing that

you don’t now?

WHAT ARE TACTICS TO DELIVER MORE OFTEN?

Reduce (release) batch size

• See Minimum Marketable Feature

Reduce release transaction costs

Overall Cost of Release

Cost of Each Release

Frequency of Releases

And maintain or reduce this

Increase this

By reducing this

Transaction costs of a release

Production transaction costs

Consumption transaction costs• Cost of testing

• Cost of deployment• Cost of management• Cost of fixes

• Cost of defects• Cost of learning

Cost of release includes production and consumption

http://www.uie.com/articles/magic_escalator/

Better interaction design reduces the amount of knowledge needed to be acquired

http://www.uie.com/articles/magic_escalator/

(AKA cost of learning)

Test the size of this using user testing

http://www.uie.com/articles/magic_escalator/

(AKA cost of learning)

Reduce this by reducing the size of the change

To reduce production transaction costs: smaller batches, build-in-quality, design for production

To reduce consumption transaction costs: smaller batches, build-in-quality, design for consumption

HOMEWORK

What is the smallest step you could take to move 1

level up (or more)?

What is your plan to start that step tomorrow?

Recommended