- Functionality should flow like a river.
Kanban, which means signal card in Japanese, has been a staple of lean auto manufacturing for years through its application in the Toyota Production System (and in lean manufacturing environments). Typical IT processes work by pushing work through steps, with work piling up at bottlenecks. Units of work stuck at bottlenecks are not gathering feedback as quickly as possible, which increases the likelihood that, when a defect is found, it will affect many pieces of work rather than a few. Kanban works by pulling work though the development process, also known as a value chain, so that work-in-process (WIP) is minimized. Kanban is a simple concept, but its application tends to challenge many of our previously held notions of how IT organizations should work. Kanban fosters the delivery of a flow of individually prioritized work items rather than the delivery of large blocks of functionality all completing at once. In a Kanban environment the delivered work items are generally grouped into periodic releases, which doesn’t fit the common definition of an IT project.
Alan Shalloway, of Net Objectives, recently suggested that Kanban has evolved into three streams of thought. They are:
- Kanban Method (a branded method championed by David J Anderson)
- Kanban as a thought process to be applied with other Agile and Lean processes (championed by Alan Shalloway, Karl Scotland and others)
- Kanban as a method to manage workflow (championed by Corey Ladas)
These are all variations on a theme. Merging the core practices from each of these variations yields a broader set core practices for Kanban. These core practices extend the usefulness of Kanban to most, if not all, IT delivery processes:
- Work must be visualized. Kanban is nothing if it not a visualization of a work or value flow. The more public the visualization, the better. Visualization helps the team and stakeholders guide the work so that it provides the most value. Visualization also helps control work entry and interruptions.
- The goal is to manage work so that it continually flows.
- Each step in the workflow will have a limit to the amount of work that can be in progress (WIP) at any given time. WIP limits reduce multitasking, switching and “inventory.” WIP also reduces waste and increases flow. The WIP in process limit should not be systematically violated.
- All policies that guide work (definition of done, work-in-progress limits, work entry process, how work is approved and others) must be explicitly stated. Explicit rules facilitate discussion and refinement which leads to greater flow and efficiency.
- Implement feedback loops to ensure transparency and help regulate the process. For example, the team needs to know when work has to wait, so they can either swarm to the bottleneck, regulate work in preceding steps or to refine the process.
- Kanban provides the information to improve as a team and evolve using models and the scientific method. Begin slowly by implementing Kanban without process changes until data is gathered.
Below is a basic implementation of a Kanban board based on the core practices:
In Kanban work is pulled to the next step only when there is capacity for the work in that step to begin. When the work unit is pulled into the next step it will reduce the amount of work the sending step below its work-in-progress limit, allowing it accept another unit of work. For example, if the analysis step had a work-in-progress limit of 4 units of work and 1 unit was pulled into development, 1 unit could then be pulled into analysis from the backlog. All work items that are in progress should be being worked on at all times rather than waiting in-between steps. When work sits it is considered work-in-progress or inventory (or waste, to use a lean term). Continuously measure the flow of work through each step until it is done. Challenge the team to maximize the flow through the process. Updating the process to minimize wait states and WIP leads to evolutionary change.
Kanban represents is a significant paradigm shift in how IT works today. It is a shift from a push to a pull method. Using a pull method puts the focus on the improving the flow of work though the development process. Ultimately, it improves efficiency and delivery of business value.
September 10, 2013 at 12:15 pm
I was thinking of jotting down few things about Kanban on my blog but it seems you read my mind. I certainly could not have done a better job than you!
September 10, 2013 at 2:17 pm
Thank you!
September 12, 2013 at 11:57 pm
[…] Constraints). Add to visualization the core principles discussed in the Daily Process Thoughts, Kanban: An Overview and Introduction which include feedback loops and transparency to regulate the process and an impetus to improve as […]
December 31, 2013 at 2:45 am
[…] Covey’s mechanism for managing for higher order and weekly goals is very reminiscent of Kanban. In order to manage our backlog of activity and tasks we need to understand and link our roles, […]
February 10, 2014 at 8:02 pm
[…] Kanban and kanban-y Scrumban, while not inviting interruptions, at least provide a mechanism for addressing interruptions or changes in priorities while work is inflight. In Kanban: Process Improvement and Bottlenecks, we discussed how Kanban deals with interruptions. The interruption or new piece of work will be placed on the Kanban board which immediately highlights the event. An item of equal size currently in progress is put on hold to balance the equation. Using the Kanban board ensures transparency by making sure that the team and all stakeholders understand the impact of the change in direction. Scrum, on the other hand, precludes interruptions by saying no. Insistence on changing the work items during the sprint requires the team to top the sprint and begin re-planning. The rational for this behavior in the Scrum framework makes perfect sense. However the real life application of the nuclear options is never as easy. No one likes to stop a sprint, but also no one likes to say no to important stakeholders. Using Kanban’s explicit mechanism of addressing how interruptions are to be addressed is a typical component of Scrumban, but the team and the stakeholders need to understand how interruptions will be dealt with. […]
March 10, 2014 at 3:45 pm
[…] understand the flow, it is far easier to improve it. Value Chain Mapping is a lean technique. Like Kanban, which focuses on the flow of work and which steps add business value, Value Chain Mapping helps to […]
March 16, 2014 at 9:16 pm
[…] understand the flow, it is far easier to improve it. Value Chain Mapping is a lean technique. Like Kanban, which focuses on the flow of work and which steps add business value, Value Chain Mapping helps to […]
September 24, 2014 at 11:56 pm
[…] the Kanban: An Overview and Introduction we used a simple software development lifecycle to define Kanban and the concept of flow. Using a […]
September 27, 2014 at 1:28 am
[…] of any system or process is limited by a very small number of constraints within the process. Kanban is a technique to visualize a process, manage the flow of work through the process and to […]
October 9, 2014 at 1:51 pm
[…] Informally, backlog grooming can (and does) occur during any discussion of the backlog items. In Kanban implementations, backlog grooming is more of a continuous event. Grooming occurs as the immediate […]
November 29, 2014 at 11:55 pm
[…] Constraints). Add to visualization the core principles discussed in the Daily Process Thoughts, Kanban: An Overview and Introduction which include feedback loops and transparency to regulate the process and an impetus to improve as […]
June 19, 2015 at 5:04 pm
[…] of the program portfolio to provide a platform for coordinated release planning. Techniques like Kanban can be used for tracking and visualizing the portfolio. Visualization show how the epics or […]
July 2, 2015 at 11:56 pm
[…] of the program portfolio to provide a platform for coordinated release planning. Techniques like Kanban can be used for tracking and visualizing the portfolio. Visualization show how the epics or […]
October 8, 2015 at 11:59 pm
[…] so making ideas and knowledge tangible. In the SPaMCAST 37, Kenji proposes a way to integrate kanban into the software development process. According to WIKIPEDIA, “Kanban is a signaling system […]
March 7, 2016 at 8:15 pm
[…] capacity and the demand placed on the capacity. Metrics are often focused on flow and might include work-in-process limits and value flow. Much of the data for metrics in this category is captured based on observing the […]