How do I refine the backlog?
Backlog refinement operates on the product backlog — the next/=|=deferred and
next/=|=deferred/ capture buckets under doc/agile/product_backlog/. For
automated orchestration, use the agile-refine-backlog skill. For sprint
selection specifically, use How do I plan a sprint?.
Question
How do I tidy the product backlog — pruning stale captures,
sharpening vague ones, and re-prioritising between next/=|=deferred and
next/=|=deferred/?
Answer
List both buckets:
./projects/ores.compass/compass.sh next ./projects/ores.compass/compass.sh deferred
- For each capture, apply the VBCD checklist:
- V — Valid? Is the need still real? If the work shipped or
the idea was abandoned, mark
ABANDONEDin the capture's status table and commit. - B — Bucket? Does it belong in
next/=|=deferred (next version) or next/=|=deferred/(longer horizon)? Move by renaming the file;:ID:stays unchanged. - C — Clear? Is the title a complete thought and the description specific enough to act on? Sharpen both in place if not.
- D — Duplicate? Is a similar capture already in the backlog?
Merge by absorbing content into the richer one and marking
the absorbed one
ABANDONED.
- V — Valid? Is the need still real? If the work shipped or
the idea was abandoned, mark
File new captures that surface during the review:
projects/ores.compass/compass.sh add capture \ --parent-dir doc/agile/product_backlog/next \ --slug <slug> \ --title "<title>" --description "<one-liner>"
Use
--parent-dir doc/agile/product_backlog/deferredfor longer-horizon items.Move items between buckets:
git mv doc/agile/product_backlog/next/<slug>.org \ doc/agile/product_backlog/deferred/<slug>.orgCommit the sweep:
git add doc/agile/product_backlog/ git commit -m "[agile] Backlog refinement — next/deferred housekeeping"
Healthy backlog heuristics
- Next bucket ≤ 20 items. More than that signals drift — push low-priority items to deferred.
- Every next capture has a one-line
#+descriptiona newcomer could act on. - No capture has been untouched for more than two sprints without a decision.
Script
No single script — the agile-refine-backlog Claude Code skill orchestrates this procedure interactively.
Tested by
Manual. Run at the start of each sprint planning cycle or whenever the next bucket exceeds 20 items.
See also
- Backlog refiner — Claude Code skill for this procedure.
- How do I plan a sprint? — use after refinement to select stories.
- How do I add a doc with compass? — preferred scaffold entry point.
- How do I create a new doc? — full codegen reference.
- Product backlog — the next/deferred structure and its invariants.