Kanban Kanban Creating a Kaizen Culture and evolving Creating a - - PowerPoint PPT Presentation

kanban kanban
SMART_READER_LITE
LIVE PREVIEW

Kanban Kanban Creating a Kaizen Culture and evolving Creating a - - PowerPoint PPT Presentation

Kanban Kanban Creating a Kaizen Culture and evolving Creating a Kaizen Culture and evolving Lean Software Engineering Solutions Lean Software Engineering Solutions David J. Anderson President, Modus Cooperandi, Performance Through


slide-1
SLIDE 1

Kanban Kanban

Creating a Kaizen Culture and evolving Creating a Kaizen Culture and evolving Lean Software Engineering Solutions Lean Software Engineering Solutions

David J. Anderson President, Modus Cooperandi, Performance Through Collaboration

slide-2
SLIDE 2

What is a kanban system?

slide-3
SLIDE 3

Kanban allows us to implement my recipe for success

Focus on Quality Reduce (or limit) Work-in-Progress Balance Demand against Throughput Prioritize Prioritize

slide-4
SLIDE 4

Case Study Microsoft 2004/2005

XIT one of Microsoft’s 8 IT departments XIT Sustained Engineering

Small team Change requests Supports over 80 applications (and growing) Supports over 80 applications (and growing) Engineering responsibilities moved from Redmond

(Washington, USA) to Hyderabad (India) in 2004

Hyderabad vendor is CMMI Level 5 and uses

TSP/PSP

Initial quality is very high

slide-5
SLIDE 5

Dark Days in July 2004

Dev Mgr Dev Mgr Test Mgr Test Mgr PM PM Change Change Requests Requests

  • Manager resigns end June

2004 – open position Q3

Jan-04 Apr-04 Jul-04 Supply 10 20 30 40 50 60 70 80 90 Change Requests

Sustained Engineering Supply v Demand

Product Product Managers Managers User Acceptance Test User Acceptance Test Backlog Backlog 155 Days 155 Days

  • 2004 – open position Q3

2004

  • Backlog is 80+ and

growing about 20 per quarter

  • Lead time is 155 days
  • Customer satisfaction –

lowest in IT department

Jul-04 Supply Quarters Supply Demand

slide-6
SLIDE 6

Estimation (ROM) was Top Priority

Dev Mgr Dev Mgr Test Mgr Test Mgr PM PM Change Change Requests Requests ROM ROM ROM ROM

  • Open and Read

Source Code

  • Read Application

Guide

  • Whole process about

1 day per developer and tester

3 Developers, 3 Developers, 3 Testers 3 Testers But… But… 80 Applications 80 Applications

Estimation was using Estimation was using 33% 33%-40% 40%

Product Product Managers Managers User Acceptance Test User Acceptance Test Backlog Backlog 155 Days 155 Days

  • SLA – 48 hours to

return a rough order

  • f magnitude

estimate (ROM)

  • All change requests

are ROM estimated

  • ROMs are expedited

as top priority due to SLA

What What happens?... happens?...

33% 33%-40% 40%

  • f available capacity!!!
  • f available capacity!!!
slide-7
SLIDE 7

Actual effort was miniscule compared to lead time

  • f 155 days

Dev Mgr Dev Mgr Test Mgr Test Mgr PM PM Change Change Requests Requests ROM ROM ROM ROM

15 20 25 e q u e s ts

Historical data gathered over

Product Product Managers Managers User Acceptance Test User Acceptance Test Backlog Backlog 155 Days 155 Days

1 to 2 3 to 5 6 to 10 11 to 15 > 15 5 10 C h a n g e R e q Effort in Days

Dev Test

  • Historical data gathered over

9 months showed that a typical change request took approx 5 business days to process through development

  • Low end was 1 day
  • High end 15 days
slide-8
SLIDE 8

Are Estimates muda?

Dev Mgr Dev Mgr Test Mgr Test Mgr PM PM Change Change Requests Requests ROM ROM ROM ROM

  • Only 52% of requests

were actually ever completed

  • Other 48%
  • Too big

(bigger than 15 days)

  • Too expensive (low

value versus cost)

  • Overtaken by events,

application decommissioned

Product Product Managers Managers User Acceptance Test User Acceptance Test Backlog Backlog 155 Days 155 Days

decommissioned before request is processed

  • ROMs are taking 40% of capacity but 48% of ROMs represent analysis

that is never used beyond estimate, schedule and go/no go decision!

  • Knowledge work is perishable. ROM analysis is done months before work

is conducted and there is no guarantee that ROM is conducted by same engineer who will code or test.

  • Conclusion – all ROMs are muda
slide-9
SLIDE 9

Could it get worse? Expediting

Dev Mgr Dev Mgr Test Mgr Test Mgr PM PM Change Change Requests Requests ROM ROM ROM ROM PTC PTC Non Non-code Fix code Fix Product Product Managers Managers User Acceptance Test User Acceptance Test Backlog Backlog 155 Days 155 Days

  • Production Text Change
  • E.g. graphical changes, data changes,

anything that didn’t require a developer

  • Must be expedited
  • Need to make formal QA pass
slide-10
SLIDE 10
  • State Model

Virtual Kanban

  • !"
  • "##

$%&" &# '()

  • *

+ ), Virtual Kanban limit initially 8 = WIP + 7 days buffer Virtual Kanban limit initially 8 = WIP + 7 days buffer

slide-11
SLIDE 11

Intervention 1 Pace the Line from Development

Local Mgr Local Mgr PM PM Change Change Requests Requests Kanban Kanban 8 cards 8 cards (3 WIP (3 WIP 5 Buffer) 5 Buffer) Kanban Kanban 8 cards 8 cards PTC PTC Expedite Expedite Product Product Managers Managers User Acceptance Test User Acceptance Test Backlog Backlog 25 Days 25 Days

  • Development Kanban

Typically enough for WIP + 7 days

  • Test Kanban

Typically enough for WIP + 7 days

  • Pace line at rate of consumption
  • At times of high expediting levels, kanban insures that line is paced

from Test not Dev

  • Reduces lead time by insuring single-tasking
  • Focuses customer acutely on selection of highest priority (urgency)

requests for insertion into empty buffer slots

slide-12
SLIDE 12

Intervention 2 – Stop Estimating

Local Mgr Local Mgr PM PM Change Change Requests Requests Kanban Kanban 8 cards 8 cards (3 WIP (3 WIP 5 Buffer) 5 Buffer) Kanban Kanban 8 cards 8 cards PTC PTC Expedite Expedite

  • ROM activity abandoned
  • Freed up 40% capacity
  • Instant boost to productivity

numbers

  • Edge cases
  • Too big (take risk, identify once

in development)

  • Too expensive (don’t care)
  • Following Deming’s advice –

Product Product Managers Managers User Acceptance Test User Acceptance Test Backlog Backlog 25 Days 25 Days

  • Stop cost accounting
  • No such thing as a cost of change request
  • Costs are fixed
  • Funding is spent with vendor on 12 month contract and paid out on

monthly burn rate

  • All changes would be treated equally for cost purposes
  • Based on average of 5 business days through development
  • Following Deming’s advice –

manage for the normal and treat exceptions as exceptional

slide-13
SLIDE 13

Throughput

30 40 50 60

45 45 56 56

  • 45

45

Zero Backlog Zero Backlog achieved achieved Some idle time Some idle time Lowers metrics Lowers metrics

$7500 $7500

Highest Productivity per person

Sep-04 Dec-04 Mar-05 Jun-05 Sep-05 Dec-05 10 20 30

17 17 $2900 $2900 $3300 $3300

Lowest cost Shortest lead time Highest customer satisfaction

slide-14
SLIDE 14

Why Lead Time is the best metric

XIT-SE TTR From 5 Months To 3 Weeks in 5 Quarters

120 140 160 180 Days Other Sev TTR Sev 1

  • New Manager
  • No More ROMs
  • New Prioritization

Process

  • Flow Management

Changed dev : test ratio Zero Backlog

20 40 60 80 100 FY04 Q4 FY05 Q1 FY05 Q2 FY05 Q3 FY05 Q4 FY06 Q1 FY06 Q2 Quarter Calendar D

from 3:3 to 4:2 Increased dev : test from 4:2 to 5:3 Lowest cost Highest Productivity per person Shortest lead time Highest customer satisfaction

slide-15
SLIDE 15

At Corbis in December 2006, we implemented a detailed kanban system for sustaining engineering

slide-16
SLIDE 16

Kanban limits create a pull system and white board provides visualization of flow through to delivery

Pull Kanban Limit – regulates WIP at each stage in the process Flow – from Engineering Ready to Release Ready

slide-17
SLIDE 17

Colors are used to designate classes of service for work items

Change Requests and Production Bugs – Customer valued and prioritized by governing board

slide-18
SLIDE 18

Quantity of blue tickets on the board is an immediate indicator of development quality that is impeding flow of customer valued work and reducing throughput

Engineering Defects – direct indicator of quality impact on productivity, linked to yellow sticky, not counted against kanban limit

slide-19
SLIDE 19

Non-customer valued but essential work is tracked as a different class of work

IT Maintenance Work – Technology department reserving capacity for its own maintenance – difficult to prioritize with business – count against kanban limits

slide-20
SLIDE 20

Expediting – the Silver Bullet

  • Process allows for a single Silver

Bullet expedite request

  • Silver bullet is hand carried through

the system

Personal attention from project

manager

Automatically jumps queues Required specialist resources drop

  • ther work in preference to working

the silver bullet

  • Release dates may be adjusted to

accommodate required delivery date

slide-21
SLIDE 21

Quantity of pink issue tickets on board directly indicates flow impacting problems that need attention from management

Issues are the exception – attached to work items that are blocked for external reasons and call attention to problems preventing smooth flow

slide-22
SLIDE 22

Temporary classes of work may be introduced tactically to maximize exploitation of the system

Extra Bug – Special class of production bug, worked by slack developer resources and specially selected not to impact solutions analysis. Tested by developers not testers. Allows maximum exploitation for improved throughput

slide-23
SLIDE 23

Kanban tickets hold a lot of information that enable decentralized control and local decision making when deciding priority of items to pull through the system

Electronic ID number Hard delivery date – for regulatory, legal, or strategic reasons Issue attached to change request – indicates management attention required Date Accepted – clock starts on SLA Signifies item that has exceeded SLA – indicates that item should be prioritized if possible Assigned engineer

slide-24
SLIDE 24

Kanban delivers iterationless development

Releases were agreed and planned for every

2nd Wednesday

Prioritization Board meetings were held every

Monday

Release content is bound and published only

5 days prior 5 days prior

Prioritization meetings are required only to

answer the question, “Which items from the backlog do we want to select this week to fill any empty slots in the input queue?”

Prioritization holds change request selection

until the last responsible moment

It keeps (real) options open

slide-25
SLIDE 25

Kanban innovates on typical agile/iterative development by introducing a late binding release commitment

Kanban system breaks constraint of typical

agile/iterative 2-4 week cycle

Requests can take up to 100 days to

process but releases still made every 14 days

Average item takes 14 days of engineering Input and sizing is decoupled from cadence Input and sizing is decoupled from cadence

  • f releases

Decision on content of release made 5 days

prior to release

No estimation is done on individual items Effort to estimate is turned back to

productivity (analysis, coding, testing)

slide-26
SLIDE 26

Look how the board has changed by March! Empirically adjusted Kanban limits reacting to industrial engineering

  • issues. Much neater presentation – pride in the process is

forming

slide-27
SLIDE 27

And again in April, more changes to Kanban limits and forward extension of the process to business analysis

slide-28
SLIDE 28

Waste bin spontaneously introduced by team to visually communicate rejected CRs that wasted energy and sucked productivity

slide-29
SLIDE 29

Spontaneous Quality Circles started forming

  • Kanban board gives visibility into process issues –
  • Kanban board gives visibility into process issues –

ragged flow, transaction costs of releases or transfers through stages in process, bottlenecks

  • Daily standup provides forum for spontaneous

association to attack process issues affecting productivity and lead time

  • For example, 3 day freeze on test environment was a

transaction cost on release that caused a bottleneck at “build” state. This was reduced to 24 hours after a 3 person quality circle formed to investigate the policies behind the freeze. Result was improved smooth flow resulting in higher throughput and shorter lead time

slide-30
SLIDE 30

Other spontaneous quality circle kaizen events

  • Empirically adjusted kanban limits several times

E.g. test kanban too small, causing ragged flow

  • UAT state added
  • UAT state added

Prompted by test who were experiencing slack time

  • Expanded kanban limit on Build Ready state, added

Test Ready state

Introduced to smooth flow post release due to

environment outage transaction cost

  • Introduced kanban board, daily standup, colored post-it

notes for different classes of service, notations on the post-its

  • Poor requirements causing downstream waste resulted

in an upstream inspection to eliminate issues with poorly specified requests

slide-31
SLIDE 31

September 2007 – Business Analysis and Systems Analysis merged eliminating 25% of lead time consumed as queuing waste

slide-32
SLIDE 32

And the process is spreading inside Corbis …

slide-33
SLIDE 33

And externally at companies like Yahoo! …

slide-34
SLIDE 34

… this one on the Mash social network team

slide-35
SLIDE 35

And the technique is being introduced to major projects with much longer time horizons. This example has a monthly “integration event” rather than a release every two weeks

slide-36
SLIDE 36

5 months later significant changes are evident

slide-37
SLIDE 37

Major project with two-tiered kanban board

slide-38
SLIDE 38

Major Project with two-tiered kanban board using swim lanes for feature sets

slide-39
SLIDE 39

Less mature major project in trouble adopts kanban to bring a focus to daily routine and visibility to work-in- progress to team and management

slide-40
SLIDE 40

Next Day – Team is maturing quickly and has refactored the board with swim lanes for functional areas

slide-41
SLIDE 41

Kanban has allowed scaling standup meetings to much larger teams than is typical with Scrum

In this example more than 40 people attend a standup for a large project with 6 concurrent development

  • teams. The meeting is usually

completed in approximately 10

  • minutes. Never more than 15.
slide-42
SLIDE 42

Bargaining, Democracy & Collaboration

First 8 weeks prioritization board would

bargain against the available slots and WIP limit

I’ve got two small requests can you treat them as

  • ne?

People started to lobby each other and build

business cases to get items selected

Familiarity with the system led to the

consensus decision to adopt a democratic process

3 months later it was evident that democracy

didn’t always select the best candidate

And it was replaced with a collaborative

process based on strategic and current tactical marketing objectives

slide-43
SLIDE 43

The process has shown remarkable robustness to gaming from the business

Prioritization board consists of VPs from 6

business units

Understanding that expediting costs

throughput and lead time has resulted in an expectation that only critical items qualify for Silver Bullet status Attempts to game prioritization by setting a

Attempts to game prioritization by setting a

delivery date are tightly scrutinized by the board

As a result the process is self-regulating with

the prioritization board enforcing the anti- gaming rules

As a result the Silver Bullet and delivery date

  • ptions are seldom used
slide-44
SLIDE 44

Summary

Culture Change

Trust, empowerment, objective data measurement,

collaborative team working and focus on quality

Policy Changes

Late-binding release scope, no estimating, late-binding

prioritization

Regular delivery cadence

Cross-functional collaboration

Cross-functional collaboration

Previously unheard of VP level selfless collaboration on

business priority

Self-regulating process robust to

gaming and abuse

Continuous Improvement

Increased throughput, high quality, process continually

evolving, kanban limits empirically adjusted

slide-45
SLIDE 45

Learn More

Join the Kanbandev Yahoo! Group Corey Ladas’ Lean Software Eng Blog

http://leansoftwareengineering.com/

Agile Management Blog

  • http://www.agilemanagement.net/Articles/Weblog/blog.html
slide-46
SLIDE 46

Thank you!

dja@agilemanagement.net http://www.agilemanagement.net/

slide-47
SLIDE 47

About…

David Anderson is a thought leader in managing effective software teams. He is the President of Modus Cooperandi, a consulting firm dedicated to improving leadership in the IT and software development sectors. He has 25 years experience in the software development business starting with computer games in the early 1980’s. As a pioneer in the agile software movement David has managed teams at Sprint, Motorola and Corbis delivering superior productivity and quality. At Microsoft he developed the MSF for CMMI Process developed the MSF for CMMI Process Improvement methodology. David’s book, Agile Management for Software Engineering – Applying the Theory of Constraints for Business Results, introduced many ideas from Lean and Theory of Constraints in to software engineering. David was a founder and is a current board member of the APLN, a not for profit dedicated to promoting better standards of leadership and management in knowledge worker industries. He can be contacted at… Email: dja@moduscooperandi.com