What refinement is for
Backlog refinement (sometimes called grooming) is the ritual where the team takes raw product-owner requests and turns them into stories the team can commit to. Three things happen:
- Stories get clear acceptance criteria.
- Stories that are too big get split.
- Stories that are ready get estimated via planning poker.
When to do it
A weekly 45-minute slot, mid-sprint, is the standard cadence. Avoid Monday (sprint just started, people are catching up) and Friday (attention is elsewhere). Tuesday or Wednesday works for most teams.
Who attends
- Product owner — presents the stories, answers questions, makes scope calls.
- Delivery team — engineers, designers, QA. Everyone who votes on effort.
- Scrum master / facilitator — keeps the timebox, parks off-topic debates.
Stakeholders and managers can observe, but they should not vote. Keep the room small enough that discussions actually happen.
Suggested agenda (45 minutes)
- (2 min) Intro. State how many stories are on the table today.
- (5 min) Quick sweep. Skim the list, drop anything clearly duplicated or obsolete.
- (30 min) Per-story loop. For each story: present (2 min) → Q&A (3 min) → vote → re-vote if spread > 2 cards → record estimate or park. Target 4–6 stories per session.
- (5 min) Park list review. What's parked? Who's going to unblock it before next refinement?
- (3 min) Split candidates. Any story that voted "bigger than the reference XL" needs splitting before it can enter a sprint.
Ready criteria
A story is "ready for a sprint" when it has:
- A clear one-sentence problem statement.
- Acceptance criteria the team agrees on.
- A confident estimate (the team didn't vote 3 and 13).
- No known blockers (design unfinished, external API undecided, etc.).
Anything missing means the story is not ready — don't let it into sprint planning.
Where planning poker fits
Planning poker is the estimation step inside refinement. Not every story needs it (trivial tasks can be assigned a default point value and skipped), but it's where the team actually aligns on what a story will take. See what planning poker is for the mechanics, or the remote variant if your team isn't co-located.
Importing the backlog
If your backlog lives in Jira, Notion, GitHub, or a spreadsheet, import the refinement slice directly into Pokor rather than copy-pasting titles. Less context-switching, fewer "which story were we on?" moments.
Common failure modes
- Refining two sprints out. Estimates decay. Refine what you're about to pull in next, not the whole quarter.
- Product owner isn't there. Q&A gets stuck on "we'll have to check with Alex." Reschedule rather than guess.
- No outcome from a debate. If a story has been discussed twice without a decision, park it and assign an owner to resolve the blocker offline.
- Stories arriving the day of refinement. The team should have read them first. Share the list 24 hours ahead.