The main steps to succeed with Kanban
Carrying on our Kanban series, let’s now focus on the recipe for success of Kanban and the included focusing steps.
With the approach of Kanban we can change the process of our workflow. Our experience by using it gives us the opportunity to train new employees in working with the Kanban process faster.
We’re also using the method of „the focusing steps“ developed by David Allen for a rapid further development and quality improvement.
Each focusing step will be discussed in this blogpost. The steps are:
- Focus on quality
- Reduce Work In Progress
- Deliver often
- Balance demand against throughput
- Attack sources of variability to improve predictability
Let’s get a deeper and detailed look at every steps.
Focus on Quality
The first step when introducing Kanban is to focus mainly on the quality. Let’s face it, bad quality is the biggest waste in software development. Improving it is essential and not as hard as one may think, it is not influenced by external factors.
Constant high quality builds trust (political capital) of up- and downstream partners which sometimes can be crucial to implement further steps that do rely on external factors.
The most popular ways to improve quality are:
- testing (Quality Assurance, Test Driven Development)
- code reviews
- design patterns
- modern software development tools
- reducing Work in Progress (WIP)
Reduce Work in Progress
Work in Progress is a determinant that describes tasks currently in progress. By limiting the amount of tickets that are allowed to be worked on in a specific production step, e.g. coding or design, we can narrow down the amount of contexts an employee has to switch between. This significantly reduces the amount of time it takes to process such task.
Longer lead times have quite an opposite effect on quality. Due to the strong correlation between quality and WIP, both steps should be implemented at the same time.
Frequent deliveries also build trust, this time with upstream partners and customers. Good thing to remember for life: small numerous gestures usually have a greater impact than infrequent large actions.
When you also realize that several small signs usually entail smaller costs than one big thing of the same amount of business value; it’s easy to understand why this step is so beneficial for everyone involved.
The Cumulative Flow Diagram shows the amount of Work in Progress (WIP) for a specific period and condition.The number of tasks and bottlenecks and lead time can be read from the diagram.
Balance Demand against Throughput
A balance between demand and throughput might seem more difficult to achieve than the previous steps, well, it is very dependent on your upstream partners and customers. If the previous moves have been successful you can leverage the political capital you gained to persuade your upstream partners to limit their demand.
Throughput will be managed by the pull system Kanban uses as well as the WIP limits you already implemented.
Once demand and throughput have been balanced you will notice the appearance of bottlenecks. Bottlenecks themselves aren’t necessarily bad, as long as they stay within reason.
In Kanban, those bottlenecks can help you achieve so called Kaizen culture by giving the employees enough leeway to analyze their environment and review existing processes, to find ways to improve them by themselves. It also gives them time and opportunity for self-development, e.g. learning new technologies, etc.
The main target of prioritization should be increasing the delivered business value. Obviously, it’s easy just to start with the biggest tickets, but smaller ones often provide the same or even greater business value.
This, once again, requires the help of your upstream partners; the developers should never prioritize their tickets themselves. In most cases, they simply don’t have all the information required to make successful decisions based on business value.
However, combined prioritization between developers and upstream partners might be useful developers could provide insight on the complexity of tasks, which customers might lack.
If you want prioritization to become clear, you must secure two things. The team must ensure high predictability, which means that their estimates must be very accurate. The tickets have to be finished in exactly the same order as they were prioritized. Both of these factors require a meticulous organization.
If you lack political capital or your team isn’t mature enough for this step, keep focusing on improving on the previous changes and try this again after some time.
Attack sources of variability to improve predictability
In this part, the main point is variability. When it is high, it leads to more WIP and longer lead times. This interacts negatively with predictability which burdens prioritization.
Implementing this step requires a certain level of maturity; it depends upon some major changes in behavior on your employees’ side.
Kanban is a real recipe to success in our daily work. This recipe for success is a really valuable technique and that is why Kanban is so useful.
With a pull system demand can be balanced against throughput and the pull system points out problems and/or bottlenecks in the whole working process. With a good prioritization we are able to deliver often and increase our quality. We also increase the predictability by reducing the variability and WIP.
Next part of Kanban theories is on its way, keep yourself posted!
David J. Anderson, Kanban – Evolutionäres Change Management für IT-Organisationen, dpunkt Verlag, 2011, Page 27-40