What backlog health means

A backlog is healthy when the open tickets are real: somebody is working on them, or they are planned and still make sense. An unhealthy backlog holds work that is dead, duplicated, abandoned or finished but never closed. Those tickets look alive, so they distort planning, reports and forecasts.

A simple way to put a number on it is the share of open tickets that are not dead. Above 80 out of 100 is healthy, between 50 and 79 needs attention, and below 50 is an outbreak. The exact limits matter less than watching the trend.

Seven tips

1. Measure it, then watch it. You cannot improve what you do not count. Pick one number, such as the share of open tickets that are not zombies, and look at it on a regular day. A number that moves in the wrong direction is an early warning.

2. Judge by real activity, not by the updated date. A ticket is "updated" by bots, automation rules and bulk edits, so a filter on the updated date misses many dead tickets. Count what people do: a change of status, assignee, resolution or description, or a comment.

3. Decide what "abandoned" means, and write it down. Agree how long In Progress may sit idle (14 days is a good starting point), and how long any ticket may stay untouched (60 days). The numbers are less important than having them, because they turn a vague feeling into a rule everyone can apply.

4. Close what you decided not to do. A ticket labelled wont-do, duplicate, obsolete or cancelled that is still open is a contradiction. Either close it, or take the label off. The label should never be the only record of a decision.

5. Limit work in progress per person. Someone with more than five tickets In Progress is probably not working on all of them. A limit makes people finish or drop things before starting more, and it makes the board tell the truth.

6. Do not let tickets roll over forever. A ticket that passes through two closed sprints without being finished needs a decision: do it now, split it into something smaller, or drop it. Carrying it a third time is a way of avoiding the choice.

7. Write a description, or do not create the ticket. A title with nothing behind it cannot be planned, estimated or finished, because nobody can tell what "done" means. Give new tickets a short description within a week, or close them.

One more habit belongs with all of them: when every subtask of a parent is done, close the parent. It is the easiest cleanup there is, and it is the one most often forgotten.

A 15 minute weekly routine

  1. Look at the number. Is the share of dead tickets going up or down since last week?
  2. Open the list of candidates. Sort by days idle, so the oldest come first.
  3. Decide ticket by ticket. A flagged ticket is a candidate, not a verdict. Close it, revive it with a comment, or give it an owner.
  4. Close with a reason. Add a short comment that says why, so anyone who finds the ticket later understands, and can reopen it.
  5. Leave what changed. If someone touched the ticket after you started the review, skip it.

Fifteen minutes a week beats a yearly clean-up that nobody finishes, because the backlog never gets far from healthy.

Where Zombie Hunter helps

Doing this by hand means filters, exports and a lot of clicking. We built Zombie Hunter for Jira, an app that scores your backlog and closes stale tickets to do the repetitive part. It counts only real activity, checks every open ticket against the rules above, gives the project a score from 0 to 100, and lists the tickets with the reason each one was flagged. Close moves a ticket to Done through your workflow and leaves a comment that says why.

Project admins can change every threshold, so the rules match how your team works. The Zombie Hunter user guide explains each rule in detail. If you want to know where the app keeps its data, read our short guide What is Atlassian Forge?