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
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: Waiting
Delays in starting a project, delays in staffing, delays due to excessive requirements documentation, reviews, approvals, testing and deployment.
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 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: 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: 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
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
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.”