Refinement Meeting Best Practices | Ready Backlog Stories
Run effective backlog refinement with clear acceptance criteria, story splitting, and estimates. GitScrum helps teams keep 2-3 sprints of ready work prepared.
9 min read
Good refinement makes planning smooth. GitScrum helps teams prepare work items so they're ready to pull into sprints.
Refinement Purpose
Why Refine
REFINEMENT GOALS:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β BEFORE REFINEMENT: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β STORY-456: Improve search ββ
β β ββ
β β Description: Make search better ββ
β β Estimate: ? ββ
β β Ready: β ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β AFTER REFINEMENT: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β STORY-456: Add autocomplete to search ββ
β β ββ
β β Description: ββ
β β As a user, I want search suggestions as I type ββ
β β so I can find products faster. ββ
β β ββ
β β Acceptance Criteria: ββ
β β β Suggestions appear after 3 characters ββ
β β β Max 5 suggestions shown ββ
β β β Keyboard navigation works ββ
β β β Works on mobile ββ
β β ββ
β β Technical Notes: ββ
β β β’ Use existing search API with prefix matching ββ
β β β’ Debounce 300ms ββ
β β β’ Cache recent queries ββ
β β ββ
β β Estimate: 5 points ββ
β β Dependencies: None ββ
β β Ready: β
ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β RESULT: Team can confidently pull into sprint β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Definition of Ready
READY FOR SPRINT:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β A STORY IS READY WHEN: β
β β
β UNDERSTOOD: β
β β User need is clear β
β β Team understands what to build β
β β Questions answered or noted as assumptions β
β β
β DEFINED: β
β β Acceptance criteria written β
β β Edge cases identified β
β β Designs available (if UI work) β
β β
β ESTIMATED: β
β β Story points assigned β
β β Team agrees on estimate β
β β Small enough to complete in sprint β
β β
β INDEPENDENT: β
β β Dependencies identified β
β β Blockers resolved or planned for β
β β Can be worked without waiting β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β IF NOT READY: β
β β’ Don't pull into sprint β
β β’ Continue refining β
β β’ Or create spike to investigate β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Meeting Structure
Refinement Session
REFINEMENT MEETING FORMAT:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β LOGISTICS: β
β Duration: 1-2 hours/week β
β Attendees: PO, Dev Team, Scrum Master β
β Frequency: Weekly or twice weekly β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β AGENDA: β
β β
β 1. REVIEW (5 min) β
β β’ Quick check of refined backlog β
β β’ Any updates since last session? β
β β
β 2. DISCUSS STORIES (45-90 min) β
β For each story: β
β β’ PO presents user need (2 min) β
β β’ Team asks questions (5-10 min) β
β β’ Discuss technical approach (5 min) β
β β’ Write/refine acceptance criteria (5 min) β
β β’ Estimate (5 min) β
β β
β 3. REVIEW DEPENDENCIES (10 min) β
β β’ Any blockers identified? β
β β’ Cross-team needs? β
β β’ Actions to resolve β
β β
β 4. WRAP UP (5 min) β
β β’ Mark stories as ready β
β β’ Note follow-up items β
β β’ Preview next session β
β β
β GOAL: 2-3 sprints of refined work in backlog β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Discussion Flow
DISCUSSING A STORY:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β STORY: STORY-789 Add user notifications β
β β
β PO PRESENTS: β
β βββββββββββββ β
β "Users want to be notified when their order ships. β
β Currently they have to keep checking. Email is fine β
β for now, push notifications later." β
β β
β TEAM QUESTIONS: β
β βββββββββββββββββ β
β Q: "What triggers the notification?" β
β A: "When shipping status changes in fulfillment system" β
β β
β Q: "Just shipped, or all status changes?" β
β A: "Start with shipped only, add others later" β
β β
β Q: "Can users opt out?" β
β A: "Yes, in preferences. Default is opted in." β
β β
β Q: "What email template?" β
β A: "Design will provide, follows existing style" β
β β
β TECHNICAL DISCUSSION: β
β βββββββββββββββββββββ β
β Dev: "We'll need to listen to fulfillment webhook" β
β Dev: "Email service already exists, just new template" β
β Dev: "Need to add notification preferences to user model"β
β β
β ACCEPTANCE CRITERIA: β
β βββββββββββββββββββββ β
β β Email sent when order status = shipped β
β β Email contains order number and tracking link β
β β User can opt out in preferences β
β β Opted-out users don't receive emails β
β β
β ESTIMATE: 5 points β
β STATUS: Ready β
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Breaking Down Stories
Story Splitting
SPLITTING LARGE STORIES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ORIGINAL (Too big - 21 points): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β STORY-800: User notification system ββ
β β ββ
β β Users can receive email and push notifications for ββ
β β order status, promotions, and account activity. ββ
β β ββ
β β Estimate: 21 points (too big!) ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β SPLIT BY FUNCTIONALITY: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β STORY-801: Order shipped email notification (5 pts) ββ
β β STORY-802: Order delivered email notification (3 pts) ββ
β β STORY-803: Notification preferences (5 pts) ββ
β β STORY-804: Push notification infrastructure (8 pts) ββ
β β STORY-805: Push notification for shipping (5 pts) ββ
β β STORY-806: Promotional email notifications (5 pts) ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β SPLITTING STRATEGIES: β
β βββββββββββββββββββββ β
β β’ By workflow step (create β read β update β delete) β
β β’ By user type (admin, user, guest) β
β β’ By channel (email, push, SMS) β
β β’ By happy path vs edge cases β
β β’ By must-have vs nice-to-have β
β β
β EACH STORY SHOULD: β
β β’ Deliver user value independently β
β β’ Be completable in one sprint β
β β’ Be testable on its own β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Common Issues
Refinement Problems
COMMON REFINEMENT ISSUES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β TOO VAGUE: β
β βββββββββββ β
β "Improve performance" β
β "Make it more user-friendly" β
β β
β FIX: Ask "What specific outcome do users need?" β
β Add measurable criteria β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β TOO DETAILED: β
β ββββββββββββββ β
β 3 pages of requirements β
β Every button described β
β β
β FIX: Focus on acceptance criteria β
β Let team figure out implementation β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β SOLUTION PRESCRIBED: β
β βββββββββββββββββββββ β
β "Add a dropdown that..." β
β "Use a modal to..." β
β β
β FIX: Focus on problem, not solution β
β "User needs to select from options" β
β Team decides best UX β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β MISSING CONTEXT: β
β βββββββββββββββββ β
β No designs for UI work β
β No API spec for integration β
β β
β FIX: Block refinement until context available β
β PO prepares before meeting β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ENDLESS DISCUSSION: β
β ββββββββββββββββββββ β
β 30 minutes on one story β
β Rabbit holes β
β β
β FIX: Timebox per story (10-15 min) β
β Create spike if too many unknowns β
β "Good enough" acceptance, not perfect β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Preparation
Before Refinement
PREPARATION CHECKLIST:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β PO PREPARATION: β
β β
β β Stories prioritized in backlog β
β β Initial descriptions written β
β β User need clearly stated β
β β Designs/mockups attached (if applicable) β
β β Any research/data to share β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β TEAM PREPARATION: β
β β
β β Review stories before meeting β
β β Note initial questions β
β β Think about technical approach β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β MEETING PREPARATION: β
β β
β β Agenda set (which stories to discuss) β
β β Time allocated per story β
β β Notes template ready β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β PRE-REFINEMENT TASK: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β REFINE-PREP: Week 5 Refinement Preparation ββ
β β ββ
β β STORIES TO DISCUSS: ββ
β β 1. STORY-789: User notifications (5 min) ββ
β β 2. STORY-790: Export reports (10 min) ββ
β β 3. STORY-791: Dashboard redesign (15 min) ββ
β β 4. STORY-792: Performance improvements (10 min) ββ
β β ββ
β β TOTAL TIME: ~45 min ββ
β β ββ
β β PRE-WORK: ββ
β β β’ @designer: Dashboard mockups by Wednesday ββ
β β β’ @po: Export requirements clarified ββ
β β β’ @dev: Performance profiling data ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ