I've been working with several clients on their transition to agile approaches to their projects. They all have a common state:
- Many features to implement
- Huge technical debt
- Many defects
They want to get a handle on all the work they have to do. I suggested they consider three backlogs, making sure that for a given iteration, they consciously choose what they want from each backlog so that an iteration has only one backlog, all agreed to by the product owner. That is, they bucket the work by features, technical debt, and defects. Rank each of those buckets. Now, for each iteration, the product owner chooses from the lists. I recommend looking at the #1 slot in each bucket. Which of these three is the real #1 for this iteration? That goes on the iteration's backlog. Now, the next one from that bucket pops up and you only have three things to compare again.
One of the problems each of these organizations has is that their technical debt and defects were invisible to the decision-makers. Now the technical staff and the project managers have a list that is is visible to the product owner/customer. None of the work is secret–it's all out in the open. They can discuss, poke, prod, ask, and negotiate to a reasonable conclusion.
It's too early to tell if this will work for them. But the value of the three backlogs is that they can look across all the potential work in the organization and make a conscious choice for now. That choice doesn't have to be permanent. Because they are working in backlogs, they have a shot at making decisions and adapting their choices later.