welcome to Agile Learning Labs Understanding Kanban
Nikos Batsios Agile Coach personal thoughts: https://escapelocaloptimum.wordpress.com
A Kanban Bitamin Injection start from where you are right now
If we have nothing to look at, we have nothing to act on Visual systems like Kanban, draw their power from our preference for visual information
Once we see our work and the process related to it, we create and build a shared understanding for Business and IT people
Understanding Kanban
Principles or Practices call them as you want :-) Visualize Limit Work In Process Manage Flow Make Process Policies Explicit Implement Feedback Loops Improve Collaboratively, Evolve Experimentally
Visualising your work
Visualising the work Make all necessary information visible when people need it, enabling effective collaboration and improvement through understanding how work works. To achieve this you have to make polices explicit and make use of information radiators
Information Radiators Big visible displays Keep them easy to update Keep them big Use them or lose them For you and other interested parties
The Kanban Board different colour could indicate different types of work (classes of services), could help to decide how to prioritise different stages of your workflow shown as columns the actual work item. add just enough information required to understand the status of the work item swim lanes can be used to split up the board to handle different types of work on the same board. as example here is a swim lane to indicate expedite, urgent work items
The Kanban Board things to know when working as a team who is working on what? are we focused on highest priority items? are there any blocked items remaining unresolved? are there place where queues are created due to bottlenecks?
The Kanban Board Use a big board to radiate information about your work Physical or electronic board can serve different purposes. try to make the most out of them Use daily standup meetings in front of the board to collaborate and learn together
Workflow Mapping Let the board reflect your ACTUAL workflow Learn by using examples Do not think too much. be prepared for changes use abstract names for stages to fit your different types of work not all types of work go through all the stages.. and that is ok! (e.g bugs!)
Queues queues, can help you manage handoffs, get more even flow of work, give visual signals when work can start! Examples of Queues Todo: fist column Ready for Development: things that have been analysed and are ready to be picked by developers Development Done: items that have been developed and now are ready for testing To Test: stuff that is ready to be tested
Queues keep in mind that criteria and policies are incrementally changing and improved! review them at retro, RCAs, always ask: did we follow the criteria? Entry and Exit Criteria which criteria need to be met in order for me to move a work item from one column to another?
Work Items
overview work item description RED = defect indicate the type of work show a blocker reference to an electronic tracking system mark an important deadline that you cannot miss! estimated size of the work item who is working on that show progress on a work item gather data for check in and check out!
Types of Work Different colours for different types of work Helps prioritization Avoid yellow sea Use colours for a reason
Work In Process
What is Work in Process it does not mean to do less work, it means do less work at the same time. limiting WIP helps you complete more work in total more quickly All the work that you have going on right now. Work that you actually working on, work that is waiting to be verified or deployed, and also work not started yet. It is all the work that you need to do to deliver value to your customers
Little s Law Little says that the more things you have going on at the same time, the longer each thing will take time through the process for each item number of items you work on at the same time average time it takes to complete each item example 1 example II example III
Effects of too much WIP Context switching (keep your own WIP minimum!, finish one prior starting another) Delay causes extra work due to long feedback loops (think of a bug introduced in the past and you learn about it quite late!) Increased RISK (high WIPs -> increased lead times -> market loss?, obsolete features? e.t.c More overhead (need for coordination, reporting, tracking, planning e.t.c) Lower Quality due to long lead times, prolonged feedback loops Decreased Motivation
Limiting Work in Process
Searching for WIP limits what is the right WIP for your and your time right now? well, depends! how much pressure there is to improve your organization? which is the number of people in your team/org and which is their availability? which is the same and size of your work items?.. Lower is better than higher People idle or work idle No limits it is not the answer
Lower is Better than Higher Lower WIP -> Better lead times -> Faster feedback -> Force you see and remove impediments -> Improve the flow of work items Too low WIP -> will surface too many problems -> you might end up resolving problems more than delivering value
No Limits it s not an Answer unused boards, no flow removing your WIP limits will remove your willing to improve. without WIP limits nothing triggers us to get better!
Principles for WIP limits Stop Starting, Start Finishing One is not the answer the more you finish the more you finish, John Seddon
Limiting WIP per column Start from the bottleneck A bottleneck is a step in your workflow that slows your flow down increase the throughput from the downstream, useless, since there will be no work! increase the throughput from the upstream, will create queue! Limit the step feeding the bottleneck to keep it from being flooded Drive the team to resolve the bottleneck but what about developers? what they should work on?
Limiting WIP per column Pick a column that will help you improve example pick the development column add a limit 1. 1.5 the number of developers 2. double your current items and reduce them 20%-30% periodically 3. just pick a number!..(avoid paralysis by analysis) collaborate to finish fewer items faster
Limiting WIP per column Imagine John, the guy that build an app and he is the one that every decision related to this app should go through him! What will happen if John is on vacations? Are there any work items that do not require John involvement? Do you think that autonomy and mastery might increase if more people of the team could get into this app? If we free up some time from John wouldn t be great for him to work on more complex stuff that might be the only one to know?
Managing Flow
FLOW One-Piece continuous flow means no waiting, delays, handoffs, over-production just value-adding activities all we are doing is looking at the time from the moment the customer gives us an order to the point when we collect the cash. and we are reducing that time line by removing the non value-added wastes Taiichi Ohno Waste is something that stops work from flowing Examples of waste Partially done work, extra features, relearning, and handoffs Do not become obsessed with removing waste, instead look at the Return of Time Invested what is stopping the work from flowing? What does the customer want from this process? (end customer, internal customer e.g in the next phase of productions e.t.c) there is no greater waste than overproduction, Taiichi Ohno
Helping the Work to Flow Limit Work in Process (resource efficiency versus flow efficiency, MRI or fire department) Reduce Waiting Time (measure waiting time, make work ready for next stages) Remove Blockers - Never been blocked! The Prime directive of Agile Development (swarming, demonstrate shared ownerships and responsibility, work outside of your specialization, reflect on your blockers, keep data, avoid starting new work if you are blocked) Avoid Rework (build quality-in from the start, avoid doing the wrong things right- failure demand) Use Cross Functional Teams (all skills, less handovers & dependencies Use Service Layer Agreements (define cycle time for items) and time box your work (review & adapt work)
Helping the Work to Flow As David Joyce suggested: Can you help finish work that is already in process? Do that! Do you have the skills needed for that? Look for bottlenecks or other things that slow down your flow, and help resolve them Do you not have the right skills to help resolve a bottleneck or remove a blocker? Pull new work into the system, as long as you do not exceed the WIP If you still find yourself without work, find something interesting that you think will help the team, and do that Too much idle time. Start cooperating more, pair more, learn more
Metrics Throughput
One day in Kanban Land
References Kanban in Action Real World Kanban Kanban from the Inside Lean from the Trenches One day in kanban land Essential Kanban Lean Software Management: BBC Worldwide Case Study