Backlog Refinement

IntermediatePrompts3 min

🔵 Optional

Use this when: The backlog needs grooming — stories are stale, priorities have shifted, scope is unclear, or you're preparing for next iteration's planning session.

Quick version: Use the /backlog-refine skill in Claude Code for one-command execution.


Why this matters

A healthy backlog has 1-2 iterations of ready stories ahead of the current iteration. "Ready" means: clear acceptance criteria, right-sized scope, confirmed priority, and no open questions.

Most backlogs drift. Stories go stale, priorities shift, and scope creeps. Regular refinement prevents this. An agent accelerates the process by analyzing the backlog systematically and surfacing issues you might miss.


What to prepare

Before running this workflow, gather:

  • Current backlog (export from Linear/Jira/Shortcut, or paste the story list)
  • Current iteration plan (what's committed this week)
  • Recent changes in priority (stakeholder feedback, user research, production issues)
  • Any context about upcoming decisions or dependencies

The workflow

Step 1: Backlog health check

Here's our current product backlog:

(Paste backlog — titles, descriptions, acceptance criteria, priority, status)

Analyze this backlog and tell me:

1. Which stories are missing acceptance criteria or have vague criteria?
2. Which stories are too large (likely more than one iteration of work)?
3. Are there any duplicate or overlapping stories?
4. Which stories have been in the backlog for more than 3 iterations without being prioritized? (These are candidates for removal.)
5. Are there obvious dependencies between stories that should be sequenced?
6. Based on the descriptions, are there any gaps — things you'd expect to see but don't?

Step 2: Priority review

Given this context about our current priorities:

(Paste recent stakeholder feedback, research findings, or strategic context)

Review the backlog and recommend:

1. Top 5 stories for next iteration, ordered by value to users
2. Stories that should be deprioritized or removed based on the current context
3. Any new stories that should be added based on the context I shared
4. For each recommended story, rate it on an Effort x Value matrix:
   - Quick Wins (high value, low effort) — do first
   - Strategic Bets (high value, high effort) — plan carefully
   - Low-hanging fruit (low value, low effort) — fill gaps
   - Reconsider (low value, high effort) — probably skip

Step 3: Story improvement

For any stories flagged as incomplete or too large:

Here's a story that needs refinement:

(Paste the story)

Please:
1. Rewrite the acceptance criteria in Gherkin format (Given/When/Then)
2. If the story is too large, suggest how to split it into 2-3 smaller stories that each deliver user value independently
3. Identify any edge cases or error states that should be covered

Step 4: Review and decide

The agent's analysis is input, not decisions. Review each recommendation:

  • Priority changes — Do the agent's priority recommendations match your judgment about user need and business value?
  • Story splits — Does each split deliver value independently, or did the agent create artificial fragments?
  • Removals — Are the stories truly dead, or just waiting for the right moment?
  • New stories — Are the agent's suggestions genuinely needed, or is it inventing scope?

What to review

Check Why
Priority recommendations match business context The agent doesn't know your stakeholder dynamics or strategic bets
Story splits are independently valuable Splitting by layer (API, UI, database) is wrong; split by user outcome
Suggested removals are truly stale Some stories are waiting for the right context, not dead
New story suggestions are grounded Agents tend to suggest "nice to have" stories; only add what users need

Effort x Value matrix

Use this framework from the OpenAI deployment playbook to sequence work:

                    High Value
                        │
    Strategic Bets      │      Quick Wins
    (plan carefully)    │      (do these first)
                        │
    ────────────────────┼────────────────────
                        │
    Reconsider          │      Low-hanging fruit
    (probably skip)     │      (fill gaps with these)
                        │
                    Low Value
    High Effort ────────────────── Low Effort

Quick Wins build momentum and political capital. Start every engagement and every iteration by identifying them.


Common mistakes

  • Refining alone — Refinement is a team activity. Use the agent for your prep, but refine with PM, design, and engineering together.
  • Accepting agent priority recommendations without judgment — The agent doesn't know which stakeholder is about to escalate or which user segment matters most this quarter.
  • Splitting stories by technical layer — Every story split must deliver end-to-end user value. "Build the API" and "Build the UI" are not valid separate stories.
  • Keeping zombie stories — If a story has been in the backlog for 4+ iterations without being prioritized, either reprioritize it or delete it. Old stories decay.

Frequency

At least once per iteration, ideally mid-week (so the backlog is ready for Monday's planning). A quick 15-minute agent-assisted pass keeps the backlog healthy.