The product backlog. Not a ton to say on this right now, but here are some thoughts.
- The current sprint is not backlog
Seem’s obvious. But the backlog is the backlog. The current is sprint is what you are focused on and working on.
- The next sprint is backlog
yes, the next sprint, on your board, is still backlog. It is somewhat solidified, but it is in flux until when you start the next sprint as your current sprint.
- Your backlog should be semi-full
having nothing in your backlog means.. well, you have no backlog, and that isn’t good. You should have enough stories for 1-2 sprints. Having no backlog is like living paycheck to paycheck.
- You should prune old stories
Older stories that have been just living in your backlog, should get pruned. Either they are higher priority and should get done, or they aren’t worth doing. They might resurface later as something but they shouldn’t be carried along for months/years if they aren’t important enough to do.
- Priority matters
The product owner should make sure they have the backlog prioritized. An backlog that isn’t prioritized is just a stack of cards.
- Split Backlog into buckets
I like to split backlog into buckets. Technical vs Product, maybe Features vs Bugs, some way to differentiate things.
- Try to get as much as you can scored
You might want to try to score as many stories in the backlog as you can so you are always ready. Of course there is a balance. You want a full backlog, you don’t want 5000 items, and you don’t want to take 3 days scoring things. Score enough so that if you do get ahead you can take stories from the backlog to work on. Try to avoid scoring outside of sprint planning sessions.
The backlog is one of the most important parts of your Agile process. Without a backlog you don’t have anything to focus on as you move forward through iterations. Try to think of it as a well, a well you don’t want to dry up, but you don’t want to overflow either.
My preference is to have a product backlog and technical backlog. That ensures that technical debt isn’t ignored, but separates concerns as far as features that you might want to implement.