69
codebyts Kanban For Software Development TJ Gokcen Chief Software Architect at codebyts

Kanban for Software Development and Kaizen Culture

Embed Size (px)

Citation preview

codebyts

KanbanFor Software Development

TJ GokcenChief Software Architect at codebyts

codebyts

Agenda• A Brief History• Basic Concepts and Visualization• Kanban in Action: Software Development Scenarios• Kaizen and Continuous Improvement Culture

codebyts

TJ Gokcen• Chief Software Architect at codebyts• Kanban, Kaizen advocate• @tjgokcen @codebyts• www.codebyts.com

codebyts

codebyts

A Brief History – World War II

codebyts

USA - Japan.

codebyts

William Edwards Deming (1900 – 1993)

codebyts

Toyota Production System: Just-in-Time and Autonomation

codebyts

Toyota Production System using Kanban

codebyts

Eliminate Chaos by Finding Bottlenecks

codebyts

Visualize: Why does it matter?© www.visual-learners.com

• 93% communication is non-verbal

• Images : Simultaneously deciphered

• Language: Linear decoding

• Children recognize objects before they can speak

• Visuals are processed 60,000 times faster than text

codebyts

See Waste, Eliminate Waste

Waste is

• anything that does not improve the quality of the product

• does not reduce the amount of time and effort it takes to produce the product

• does not provide real value to the customer

codebyts

Waste: Defective Production

Bugs creeping into production. Leads to low quality customer perception, the longer it takes to attend to it, the worse.

codebyts

Waste: Overproduction

Writing more code or functionality than required.

codebyts

Waste: Waiting

Delays in starting a project, delays in staffing, delays due to excessive requirements documentation, reviews, approvals, testing and deployment.

codebyts

Waste: Neglected Talent

Take advantage of your team’s skillset.

codebyts

Waste: Transportation

Task switching

codebyts

With the timer ready1. Write each word on separate lines. Time it.2. Write each word letter by letter on separate lines, switching

from word to word.

Context Switching Game

Think of your favourite person or letters from A-J, and numbers 1-10

letters and numbers would beABCDEFGHIJ1 2 3 4 5 6 7 8 9 10

In this case, first A, then 1, then B, then 2 and so on…

codebyts

Context Switching Game: Compare Your Times

With letters and numbers:

0

10

20

30

40

50

60

70

80

90

to 10 to 20 3rd Project - to 10 3rd Project - to 20

Linear Context Switch

codebyts

Waste: Inventory

Functions and/or methods (“dead code”) that are not being referenced or used by any other function or method.

codebyts

Waste: Motion

Finding information. From business consultant, to sales department, to project manager or owner.

codebyts

Waste: Excessive Processing

Manual deployment vs. continuous delivery, manual testing vs. automated testing etc.

Source: Crisp Blog

codebyts

Waste: Downtime

D O W N T I M E

Defective Production Overproduction Waiting Neglected Talent

InventoryTransportation Excessive ProcessingMotion

codebyts

Visualize: Gemba (workplace)

In order to be able to write down your process, you need to go to the Gemba.

codebyts

Kanban Board

codebyts

Visualize: Kanban Board

codebyts

Physical Kanban Board

codebyts

Visualize: Kanban Board

codebyts

Kanban In Practice: Perfect World

Backlog Analyze Dev ReadyTest Production

dfwgwrgrgwrgg

doing done doing done

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

Initial Stage

codebyts

Kanban In Practice: Perfect World

Backlog Analyze Dev ReadyTest Productiondoing done doing done

Problem: How do we know what do to and how much to do?

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Perfect World

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Work In Progress Limits

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Perfect World

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Perfect World

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Workflow

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Seeing is Believing

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Seeing what’s about to happen, before they happen

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Seeing is Believing

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Seeing what’s about to happen, before they happen

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Seeing is Believing

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Our Team

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Let’s see where the team’s at.

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Bugs. Maintenance Issues. Change Requests. It’s

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Other Items to work on.

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

Feature BUG Maint.Change Request

codebyts

Kanban In Practice: BUGS

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Things that should work but don’t. They need to be treated as “urgent”.

dfwgwrgrgwrggdfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

URGENT

dfwgwrgrgwrgg

codebyts

Kanban In Practice: BUGS

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Another approach is to block the line.

dfwgwrgrgwrggdfwgwrgrgwrggdfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg dfwgwrgrgwrgg

dfwgwrgrgwrggdfwgwrgrgwrgg

codebyts

Kanban In Practice: Diminished Workflow = Bottleneck

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: Team Work

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Supply > Throughput (Capacity)

dfwgwrgrgwrggdfwgwrgrgwrggdfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

URGENT

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kanban In Practice: VIP

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

dfwgwrgrgwrggdfwgwrgrgwrggdfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg dfwgwrgrgwrgg

dfwgwrgrgwrgg

URGENT

dfwgwrgrgwrgg

codebyts

dfwgwrgrgwrgg

Kanban In Practice: Policy

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Make policies that work for your team. Make your own rules.

dfwgwrgrgwrggdfwgwrgrgwrggdfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

URGENT

dfwgwrgrgwrgg

dfwgwrgrgwrgg

Policy: Feature over Maintenance

codebyts

Kanban In Practice: Disneyland Wait Times

Backlog Analyze (2) Dev (3) ReadyTest (2) Productiondoing done doing done

Measure Every Step For Better Predictability

dfwgwrgrgwrgg

dfwgwrgrgwrggdfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

URGENT

Your wait time from here is24 days

codebyts

Kanban Metrics

- 24 stories completed in 3 weeks- 8 stories per week

- 160 stories in backlog- 160 / 8 = 20 weeks to complete (+/-)

- 3 weeks is 15 working days- I have 5 developers, that is 75 developer days

- 75 / 24 = 3.125 avg. developer days per story- This is the load factor in XP

codebyts

Kanban In Practice: What’s In A Card?

TFS: 32897 18-11-2013

As a…

I want to…

A: 04-11-2013D: 10-11-2013

codebyts

Kanban for Software Development

- Daily standups in front of Kanban Board

- Reflect every * - Kaizen

- Demonstrate every *

- Collaboration happens all the time, otherwise line stops

* Determined by the team

codebyts

Kaizen

codebyts

Kaizen: Process should never be the bottleneck

codebyts

Kaizen: Kanban Board for Upstream and Downstream – The Big Picture

Features Planning Development MarketingLegal Releaseddoing done doing done

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

dfwgwrgrgwrgg

codebyts

Kaizen: Fear of Change

codebyts

Kaizen: No Suggestion Box

codebyts

Kaizen: Employee Suggestions Per Year

0.166666667

18

0

2

4

6

8

10

12

14

16

18

20

Suggestions Per Year

US(West) Japan

codebyts

Kaizen: Employee Suggestions Per 6 Years (so the West reaches 1 suggestion)

1

108

0

20

40

60

80

100

120

Suggestions Per 6 Years

US(West) Japan

codebyts

Kaizen: Suggestion Acceptance Rate

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

US(West) Japan

Accepted Declined

codebyts

Kaizen: Case Study of Improvements: Management Driven

On Time Arrivals

- 7th Place in 1994- 1st Place in 1995

codebyts

Kaizen: Case Study of Improvements: Culture

Kentucky, US Plant

- Bolt bin pricing- Local store

vs.- Toyota Purchasing

codebyts

Quality First: Toyota’s Andon Cord

codebyts

Quality First: Toyota’s Andon Cord

codebyts

Mental Block: Success rate is 99.9%

- 25,000,000 units- 80 defective- That is Six Sigma (6.01)

- 3,000,000 deliveries / day- 99.9% = 2,997,000- 3,000 people not getting their

packages

codebyts

Mental Block: Don’t Fix It If It Ain’t Broken

codebyts

Mental Block: No Reports Does Not Mean No Mistakes

codebyts

Humans Will Make Mistakes © Simpsons Fox Network

codebyts

Policy For Dealing With Mistakes

Jeff Bezos, of Amazon:

“I encourage our employees to go down blind alleys and

experiment. If we can get processes decentralized so that we

can do a lot of experiments without it being very costly, we’ll get a lot

more innovation.”

codebyts

Shared Responsibility

codebyts

Too Big Too Soon

codebyts

Policy For The Organisation: What is Our Goal For This Year?

codebyts

Kaizen: Company Genes

codebyts

Thank You