How to Manage Defects Effectively (Without Moving Cards Backward on Your Board)
A common scenario that often triggers teams to move cards backward on your Kanban board is handling defects during the ‘Testing’ phase. Way too often, when teams discover an issue with the implementation, they move the card back into the ‘Development’ state.
This approach is ineffective not only because it contradicts the nature of knowledge work, but also because it has the potential to prevent you from discovering opportunities for improvement.
There is a better way to handle this scenario. In fact, there are a handful of them, and which solution provides the best fit for your context will depend on the maturity of your team. To help you decide which one you should go for, let’s explore your options.
Block the Item and Keep Your Focus on the Blockers in Your Delivery System
The easiest and simplest way to manage defects when they arise is to block the item in the column that it currently sits in to make the problem visible and emphasize the importance of handling the work at the moment someone is available to do so.
Then, simply describe the issue on the card by adding all the necessary details. Once the problem is resolved, the card will get unblocked and move on to the next process step.
In order for this approach to work, you need to have explicit policies in place that cover how to handle blocked work in your workflow. The policy could be as simple as: “Once you finish what you’ve started, instead of pulling more new work from the backlog, look at the outstanding work items on the board and make sure you handle any blocked items first (even if you haven’t taken a part of the initial implementation)”.
Your team needs to have a mutual understanding and agreement that enabling the flow of work is the highest priority for everyone involved. They should self-organize around the work to achieve that common goal. If you don’t have that agreement, you risk ending up with blocked work that’s artificially aging in your process, which ultimately leads to poor predictability and delayed deliveries.
The disadvantage of this approach is that you don’t have a mechanism to track the defects in your system and visualize how the trends have developed over time. If that’s an important aspect of your management practices, you may want to consider the next option.
Block the Item and Create a New Ticket to Emphasize the Impacts Defects Have On Your Performance
When you discover a defect, again, block the item in the current state and create a new defect card in the ‘Development (Queue)’ state. Then, associate the card with the original one.
This approach is highly suited to teams that are just getting started with flow management, as it enables you to emphasize the importance of handling quality issues before you initiate new work. It also provides the means to evaluate the number of defects that you are handling overall and better understand how failure demand impacts your customer demand in the long run.
However, the implementation of this option is a bit tricky. For instance, when you create a new card it will count towards your WIP limit. Even though the strategy dictates that the focus should move towards sorting out all quality issues before initiating new work, what should you do if your system is operating at full capacity and you’ve reached the WIP limit?
If that’s that case, the defect should go at the top of your ‘To Do’ list. You can then pull the item in at the moment you have the capacity to initiate new work. Keep in mind that, there are some defects that should be handled right away, whereas there are others that can wait for later. It’s up to you to decide whether your ticket should move on in the current iteration, or it should be placed in your backlog with a lower priority.
Another question that arises is: “How should you move the new item through the workflow? Should you handle the items that have already been started first, or let the defects overtake them?”.
Look into your Aging Chart. If your blocked work has spent 6 days in the process and there is another waiting item that spent 11 days in the process, you will want to start with the older item, to preserve the predictability of your system.
Regardless of which approach you chose, make sure that you evaluate the time your parent item stayed blocked due to defects. Perform a blocker clustering analysis to understand which is the blocker with the highest impact on your delivery times. That’s the one you should focus on resolving first.
The main goal is to identify opportunities for improvement and tweak your management practices accordingly to make sure you prevent defects from happening in the first place.
Think about introducing a proper BDD approach, or adopting practices like Definition of Done, Definition of Ready or Acceptance Criteria, as this will mitigate the risk of failure and increase the effectiveness of your development efforts.
Meet the Author
Sonya Siderova is a passionate product manager and a driving force behind Nave, a Kanban analytics suite that helps teams improve their delivery speed through data-driven decision making. When she's not catering to her two little ones, you might find Sonya absorbed in a good heavyweight boxing match or behind a screen crafting a new blog post.