POUDEL-05·DONE

Why Your Backlog Is Not a To-Do List

July 10, 2026

Every team I've worked with has, at some point, let their backlog turn into a graveyard of half-written tickets nobody wants to touch. It happens quietly: someone has an idea in a meeting, creates a ticket titled "Improve checkout flow," and moves on. Six months later, there are 400 tickets like that, and grooming sessions turn into archaeology instead of planning.

Every item earns its place, or it gets cut

If nobody can explain why a ticket matters right now, it doesn't belong at the top of the backlog — and if nobody can explain why it matters at all, it probably shouldn't exist. I run a rule on every team I've supported: anything untouched for two full quarters gets reviewed for deletion, not just left to rot at the bottom.

This feels wasteful the first time you do it — deleting a ticket someone cared about eight months ago feels like discarding effort. But an ignored ticket isn't preserved effort, it's just backlog noise that makes the real priorities harder to find. If the idea was genuinely good, someone will re-raise it, and it'll come back sharper the second time.

Refinement is a standing meeting, not a reaction to a deadline

Teams that only groom the backlog right before sprint planning end up rushing acceptance criteria, which shows up later as scope disagreements mid-sprint — the classic "that's not what I meant" conversation on day three of a five-day sprint. A short, recurring refinement session, even just 30 minutes, keeps the top of the backlog genuinely "ready" instead of "ready enough for now."

I've found the ideal cadence is roughly twice a sprint: once early, to surface which upcoming items are underspecified, and once closer to planning, to do a final sanity check. Two short sessions consistently beat one long, rushed one.

Ready means ready — not "we'll figure it out as we build"

A user story without clear acceptance criteria isn't a story, it's a placeholder. I've seen more sprint slippage caused by ambiguous tickets than by genuinely underestimated ones. "Add filtering to the dashboard" is not a ready story. "Users can filter the dashboard by date range and status, with results updating without a page reload, and an empty state shown when no results match" is a ready story — and notably, it took thirty extra seconds to write.

The discipline of writing this out before a sprint starts, rather than during it, forces the harder conversations to happen at the right time — in refinement, with the whole team present — instead of in a rushed Slack thread mid-sprint when someone's already blocked.

Priority is a single ordered list, not a set of tags

Tags like "high/medium/low priority" let everything be "high priority," which in practice means nothing is. I've inherited backlogs where eighty percent of open tickets were tagged high priority — at that point the tag carries zero information.

A strictly ordered backlog forces the harder, more useful conversation: if we can only do one thing next, which one, specifically? That question is uncomfortable in a way that tagging isn't, because it forces trade-offs into the open instead of letting everything feel equally urgent. But it's the only version of prioritization that actually helps a team decide what to do Monday morning.

None of this is exotic Agile theory

The frameworks give you the ceremonies — sprint planning, refinement, review. Whether the backlog is actually useful depends on whether someone enforces these habits every single sprint, not just when things get messy enough to force a cleanup. That enforcement is unglamorous, repetitive, and mostly invisible when it's working — which is probably why so few backlogs actually get this discipline applied consistently.

ShareLinkedInXWhatsApp

Comments

Loading comments...