It turned out that a lot of issues could be closed without fixing them. A lot of the submitters had long since left the company, the issue was connected to a project closed a long time ago, the issues was obviously not important, the issues was already fixed but not yet verified etc.
In the closed box we regularly stapled the slips representing closed issues into bunches of ten. We then made small packets of 50 slips of these bunches of ten. There was an immediate satisfaction when physically closing the issues by bunching them together and seeing the number of closed issues constantly growing.
The speed was amazingly fast. In six days we were down to 280 open issues. It felt like we had closed the majority of the no-brainer issues and it was time to really start prioritizing and reducing the amount of work in progress. It was time for the product owners to really make an effort. We divided the issues into our two main systems (let’s call them A and B) and a third group for our other small systems (that we will refer to as C). System A had 76 issues, B had 115 and C had 19. The product owner for A should reduce them to 30 issues, the product owner for B to 40 and I as a section manager should reduce the C issues to 10. The deadline was two days, so the only way of reducing was by prioritizing and closing non-important issues without fixing them. Basically telling the submitters that there issues were not important and never would be fixed.
The result of this cleanup was amazing. The two new teams started to work together very quickly as self organizing teams. We went from more than 600 to 80 issues in approximately two weeks. We fixed some of them but the majority was simply rejected and closed. The most amazing part was that we only got 2 customer complaints about closing their issues. This is a very good indication that our huge backlog actually was nothing but rubbish, and that we did a good job identifying the important issues and closing the rest.
Selecting between Kanban or Scrum
Excited by the speed and result of our Kanban cleanup effort I was ready to skip Scrum and start using Kanban fully for our development. Most of our work is maintenance so I thought it was a good idea. My teams and product owners didn’t agree and the developers working with Scrum previously was not keen at all on skipping Scrum. The main reasons were;
- The teams really appreciated the iterative analysis and discussions for each issue. All doubts and uncertainties had been settled once the issues had gone through poker planning and sprint planning and when the developer started working with the task in the sprint they knew exactly what to do. They felt the iterative group analysis was lost with the kanban approach.
- The majority of the team members appreciated the time box and deadline in a Sprint. They felt that having a manageable work package that should be delivered towards a clear deadline made them perform better.
- The product owners liked the fact that they only had to spend one or two intensive days with the teams during poker planning and sprint planning and that the team then knew what to do and could work more independently. The product owners felt that the kanban approach made it necessary for the team to interrupt them constantly with ad-hoc questions for each issue.
Since the main idea with agile and lean development is that I as manager have full confidence that the team themselves know how to work in the most efficient way we decided to continue with Scrum. The only problem was that I wasn’t ready to let go of Kanban easily since I had seen how it really solved the problem with issues ending up in buffers in different postpone state, investigating state etc. I really liked the idea of having all non-closed issues on whiteboard where everyone could see them.
Combining Kanban and Scrum
The solution we found was to combine the two techniques. We use Kanban in order to control the value chain of our issues from submitted to closed. The team uses Scrum to organize their work once the issues are ready to be implemented. In detail it means that we have the following states in our Kanban system:
- Submitted: Once an issues is put into our DMS system it gets the submitted state. This is the same as being in the Scrum backlog. The product owner prioritizes all the issues in the submitted state and might mix between DMS issues or other items that are supposed to enter the next sprint. We only use Kanban for the DMS issues. The rest is handled by Scrum.
- Assigned: The issue gets the assigned state once they are in a sprint.
- Test OK: When the issue fulfills the “Software DONE” criteria it gets the “Test OK” state.
- Integrated: Means that the issue has been released in an official version of the system. It is now up to the submitter to verify that the fix is according to their whishes.
- Verified. An issue ends up in this state when the submitter has verified it. We then close it.
There are also two additional “side-track” states.
- Investigating: If the product owner needs more information from the submitter it is returned in the investigating state.
- Rejected: If the product owner founds the issue irrelevant or erroneous it ends up in the rejected state and gets closed after a couple of days.
All the states have a maximal number of allowed issues, including the submitted state. If someone submits more issues the product owner needs to start to prioritize and reject. This makes sure that the amount of work in progress is manageable. Since the Integrated state has maximal number of issues that are almost similar to the Test OK state it and assigned state it means that we can’t start a new sprint if there are issues from the previous sprint that still haven’t been verified by the submitters. This guarantees that we don’t flood the organization with more fixes than they can assimilate. The rejected state doesn’t have a maximal number. The issues are instead closed after five days if the submitter doesn’t press the “Disagree” button in our issue management system.
The maximal number of issues is higher than in a pure kanban system (for example 20 for the submitted state and 15 for the assigned state) and the pace is slower, since the pace represents the sprint time.
We feel that this system combines the advantages of Scrum with the control mechanisms of Kanban that makes sure that the issues are really converted into business benefits. Before using Kanban on top of Scrum we had a tendency to only implement the issues and then forgetting to make sure that they were really deployed, verified by the submitter etc. Our combined system also makes sure that our backlog doesn’t grow out of control again. Basically the system helps us to avoid ending up with 600 junk issues again.
Handling external dependencies
One of our systems uses resources that are not a part of the team. We created separate states in their kanban flow for each of these external resources in order to make sure that the tasks doesn’t get stuck there.
Other positive side effects
Our support team got a bit jealous and started to use some of the lean and agile principles as well. They are not using kanban or Scrum but they are having daily status meetings and a whiteboard with ongoing tasks, difficult support issues that haven’t been solved yet etc.
Conclusions
Using a Kanban approach to clean up old messes is really efficient. It can be used for almost anything and the approach to draw up the flow of the issues to handled, printing out each issue as a paper slip and then using white board magnets as kanbans worked really well. Combining this with other good lean and agile principles such as self organizing teams, kaizen activites and daily short status meetings worked very well. It can be used for clean up any kind of old and messed up backlog.
Combining Kanban and Scrum gives us the best of two worlds. Scrum helps the teams to work in an effective way and deliver real business value and kanban helps the product owner and the rest of the organization to control the flow through the value chain to make sure that what the team has developed is really being used.

