Skip to main content
Product Management/backlog-refine

Backlog Refine

You need to clean, evaluate, or reorder backlog items.

Use this when the backlog needs grooming — stories are stale, priorities have shifted, acceptance criteria are missing, or you're preparing for iteration planning. Produces a health assessment, priority recommendations, and specific story improvements.

Process

Step 1: Gather the backlog

Ask the user to provide:

  1. Current backlog — export from Linear/Jira/Shortcut, or paste the story list (titles, descriptions, acceptance criteria, priority, status)
  2. Current iteration plan — what's committed this week (so we know what's already in progress)
  3. Recent priority changes — stakeholder feedback, user research findings, production issues, or strategic shifts (optional but improves recommendations)

The user can paste raw data in any format.

Step 2: Backlog health check

Analyze the backlog and report:

## Backlog Health Assessment

### Missing or Vague Acceptance Criteria
- (Story title) — (what's missing or vague)
- (Story title) — (what's missing or vague)

### Oversized Stories (likely > 1 iteration)
- (Story title) — (why it's too big, suggested split approach)

### Duplicates or Overlaps
- (Story A) and (Story B) — (what overlaps)

### Stale Stories (3+ iterations without being prioritized)
- (Story title) — (how long it's been sitting, recommendation: reprioritize or remove)

### Dependencies
- (Story A) should come before (Story B) — (why)

### Gaps
- (Expected capability that's missing from the backlog)

### Summary
(Overall backlog health: how many stories are ready, how many need work, how much runway you have)

Step 3: Priority recommendations

If the user provided priority context, recommend ordering:

## Priority Recommendations

### Top 5 for Next Iteration (ordered by user value)
1. (Story title) — (why this is highest priority)
2. (Story title) — (why)
3. (Story title) — (why)
4. (Story title) — (why)
5. (Story title) — (why)

### Effort x Value Assessment
| Story | Value | Effort | Category |
|-------|-------|--------|----------|
| (Story) | High/Low | High/Low | Quick Win / Strategic Bet / Low-hanging fruit / Reconsider |

### Deprioritize or Remove
- (Story title) — (why: stale, overtaken by events, low value)

### New Stories to Consider
- (Suggested story) — (why it's needed based on the context provided)

### Confidence Check

For each story in the backlog, assess scope clarity:

| Story | Confidence | Recommendation |
|-------|-----------|----------------|
| (Story with clear scope and AC) | High | Ready for iteration |
| (Story with reasonable scope but open questions) | Medium | Convert to spike — validate before committing |
| (Story with vague scope or ambiguous intent) | Low | Needs refinement before it enters the backlog |

Stories at Medium confidence should not be committed as stories — they should be spikes with a clear question to answer. Stories at Low confidence should be sent back to refinement or removed.

Step 4: Story improvements

For stories flagged as incomplete or oversized, offer to:

  • Rewrite acceptance criteria in Gherkin format
  • Suggest vertical splits (each delivering independent user value)
  • Identify missing edge cases and error states

Ask the user which stories they want improved before generating rewrites.

Step 5: Review and decide

Ask the user:

  • Do the priority recommendations match your judgment about user need and business value?
  • Are the suggested removals truly dead, or waiting for the right moment?
  • Which story improvements should we write up now?

The agent's analysis is input, not decisions. The user decides.

Remember: this draft multiplies your output, not your judgment. You own the final narrative.

Output location

Present the analysis as formatted text in the conversation. The user applies changes to their tracker manually.

Example Output

Input

  • Current backlog: 14 stories from Shortcut export for Meridian Health's patient portal team — includes titles, partial descriptions, mixed AC quality:
    • "Patient can reset password" — AC: "works correctly" (no steps)
    • "Add appointment reminders" — no description, no AC, tagged High priority
    • "Migrate legacy notification service" — description: "move off old system," estimated 3 weeks of work, no splits
    • "Show insurance card on profile" — full AC in Gherkin, estimated 3 pts
    • "Fix broken date picker on mobile" — tagged Critical, sitting in backlog 6 weeks
    • "Add in-app messaging (v1)" — 2 pts, vague scope
    • "Add in-app messaging (v2)" — 3 pts, overlaps with v1, no differentiation noted
    • "Allow patients to update home address" — 5 pts, clear AC
    • "Send visit summary PDF via email" — 8 pts, no AC
    • "Integrate with MyChart" — no description, no estimate, added 9 weeks ago
    • "Improve accessibility on forms" — tagged Medium, sitting 4 iterations
    • "Dark mode support" — 2 pts, no AC
    • "Patient can cancel appointment" — clear AC, 3 pts, estimated and ready
    • "Show upcoming appointments on dashboard" — 5 pts, partial AC
  • Current iteration plan: "Fix broken date picker on mobile" and "Show insurance card on profile" are committed and in progress this sprint
  • Recent priority changes: CTO flagged HIPAA audit coming in 6 weeks; customer success escalated 3 complaints about missed appointment reminders this month

Output (abbreviated)

Backlog Health Assessment

Missing or Vague Acceptance Criteria

  • Patient can reset password — AC says "works correctly" — no given/when/then, no error states, no token expiry behavior defined
  • Add appointment reminders — no description or AC at all; high priority tag but zero implementation signal
  • Send visit summary PDF via email — 8-point story with no AC; what triggers the send? what's in the PDF? what happens on delivery failure?
  • Add in-app messaging (v1) — "v1" implies scope containment but nothing defines where v1 ends
  • Dark mode support — no AC, no component scope, no accessibility contrast requirements listed

Oversized Stories (likely > 1 iteration)

  • Migrate legacy notification service — estimated at 3 weeks; likely spans infrastructure teardown, service mapping, testing, and cutover. Suggested split:
    1. Audit and document current notification triggers (spike)
    2. Build new service with feature parity (dev story)
    3. Parallel-run and validate delivery rates (validation story)
    4. Deprecate legacy service (cleanup story)
  • Send visit summary PDF via email — 8 pts with no AC suggests scope is undefined; should be a spike before a build story

Duplicates or Overlaps

  • Add in-app messaging (v1) and Add in-app messaging (v2) — no differentiation documented; unclear if these are sequential or parallel tracks. Consolidate into one story or add explicit scope boundaries before either enters an iteration

Stale Stories (3+ iterations without being prioritized)

  • Fix broken date picker on mobile — 6 weeks in backlog tagged Critical; now in-sprint, but should not have sat this long given severity
  • Integrate with MyChart — 9 weeks, no description, no estimate; recommend: schedule discovery spike or remove until a champion resurfaces it
  • Improve accessibility on forms — 4 iterations at Medium priority; with HIPAA audit approaching, accessibility may now be compliance-adjacent — reprioritize or explicitly defer

Dependencies

  • Migrate legacy notification service should precede Add appointment reminders — reminders rely on the notification layer; building on the old system creates rework risk
  • Add in-app messaging (v1) should be defined and scoped before v2 enters the backlog

Gaps

  • No story for audit logging or access controls — with a HIPAA audit in 6 weeks, there is no visible backlog item covering access log review, PHI handling, or session timeout behavior
  • No story for reminder delivery confirmation — customer complaints cite missed reminders, but there's no observability story (can the team tell if reminders are actually sending?)

Summary

14 stories total. 3 are iteration-ready (insurance card, cancel appointment, update home address). 6 need AC work before they can be estimated or committed. 2 are likely duplicates. 1 is oversized. 2 are stale and should be triaged. Roughly 3–4 weeks of clearly-scoped runway; the rest is risk.


Priority Recommendations

Top 5 for Next Iteration (ordered by user value + business risk)

  1. Add appointment reminders — 3 active customer complaints this month; highest visible pain point; must define AC first (see story improvement offer below)
  2. Patient can reset password — auth flows are foundational; vague AC creates security risk, especially pre-HIPAA audit; rewrite AC before committing
  3. Patient can cancel appointment — ready to go, clear AC, high patient utility, no blockers
  4. Show upcoming appointments on dashboard — partial AC, high visibility feature; close the AC gaps and this is a strong iteration candidate
  5. Improve accessibility on forms — HIPAA audit context elevates this; accessibility failures can surface as compliance findings

Effort x Value Assessment

StoryValueEffortCategory
Add appointment remindersHighMediumStrategic Bet (unblock with spike first)
Patient can cancel appointmentHighLowQuick Win
Show upcoming appointments on dashboardHighMediumQuick Win (once AC finalized)
Patient can reset passwordHighLowQuick Win (once AC rewritten)
Improve accessibility on formsMediumMediumStrategic Bet (HIPAA context)
Send visit summary PDF via emailMediumHighReconsider (spike before build)
Migrate legacy notification serviceHighHighStrategic Bet (split first)
Dark mode supportLowMediumReconsider
Integrate with MyChartUnknownUnknownReconsider

Deprioritize or Remove

  • Dark mode support — no driver, no AC, low patient impact relative to audit risk and core functionality gaps; defer to post-audit cycle
  • Integrate with MyChart — 9 weeks stale, no owner, no description; remove from active backlog and park in icebox until there's a defined business need and a champion

New Stories to Consider

  • Audit log visibility for PHI access — HIPAA audit in 6 weeks; someone needs to verify access logs exist and are reviewable; no current story covers this
  • Notification delivery observability — before fixing reminders, the team needs to know whether the current system is silently failing; spike to instrument delivery success/failure rates

Confidence Check

StoryConfidenceRecommendation
Patient can cancel appointmentHighReady for iteration
Show insurance card on profileHighIn sprint — good
Allow patients to update home addressHighReady for iteration
Show upcoming appointments on dashboardMediumClose AC gaps, then commit
Patient can reset passwordMediumRewrite AC → spike on token/expiry behavior, then commit
Add appointment remindersMediumSpike to define delivery mechanism before build story
Migrate legacy notification serviceMediumSplit into 4 stories; spike first
Send visit summary PDF via emailMediumConvert to spike — define trigger, content, and failure handling
Add in-app messaging (v1)LowNeeds scope definition; not backlog-ready
Add in-app messaging (v2)LowRemove until v1 is shipped and understood
Dark mode supportLowDefer or remove
Integrate with MyChartLowRemove to icebox

Offered Story Improvements

The following stories are flagged for rewrite — confirm which you'd like and I'll generate full Gherkin AC and/or vertical splits:

  • Add appointment reminders — full AC + suggested split (email vs. SMS vs. in-app as separate stories)
  • Patient can reset password — Gherkin AC covering happy path, expired token, locked account, and rate limiting
  • **Send visit summary PDF