Prioritizing Backlog Items | RICE & MoSCoW Frameworks
Prioritize backlog items using RICE (Reach, Impact, Confidence, Effort) and MoSCoW frameworks. Ensure teams work on highest-value items in GitScrum.
7 min read
Backlog prioritization is where strategy meets execution. Without clear prioritization, teams work on whatever's newest or loudest rather than what's most valuable. Effective prioritization uses frameworks, data, and stakeholder input to ensure every sprint delivers maximum impact.
Prioritization Challenges
| Problem | Cause | Solution |
|---|---|---|
| Everything is priority 1 | No framework | Force ranking |
| Newest items jump queue | Recency bias | Consistent criteria |
| Loudest stakeholder wins | No process | Data + framework |
| Low-value work done first | No visibility | Value scoring |
| Priorities change constantly | No discipline | Sprint commitment |
Prioritization Frameworks
RICE Framework
RICE SCORING METHOD
βββββββββββββββββββ
FORMULA:
RICE Score = (Reach Γ Impact Γ Confidence) / Effort
COMPONENTS:
βββββββββββββββββββββββββββββββββββββ
REACH: How many users affected per quarter?
βββ 1,000 = 1,000 users
βββ 10,000 = 10K users
βββ Use real numbers
IMPACT: How much does it help each user?
βββ 3 = Massive (huge improvement)
βββ 2 = High (major improvement)
βββ 1 = Medium (noticeable improvement)
βββ 0.5 = Low (minor improvement)
βββ 0.25 = Minimal (barely noticeable)
CONFIDENCE: How sure are you?
βββ 100% = High confidence
βββ 80% = Medium confidence
βββ 50% = Low confidence
βββ Use honest assessment
EFFORT: Person-months of work
βββ 1 = 1 person-month
βββ 0.5 = 2 weeks
βββ Whole numbers preferred
EXAMPLE:
βββββββββββββββββββββββββββββββββββββ
Feature: Improved search
Reach: 50,000 users/quarter
Impact: 2 (high)
Confidence: 80%
Effort: 2 person-months
RICE = (50,000 Γ 2 Γ 0.8) / 2 = 40,000
Compare to other features' RICE scores
Higher = higher priority
MoSCoW Method
MOSCOW CATEGORIZATION
βββββββββββββββββββββ
CATEGORIES:
βββββββββββββββββββββββββββββββββββββ
MUST HAVE:
βββ Essential for release
βββ Product fails without it
βββ Non-negotiable
βββ ~60% of effort
SHOULD HAVE:
βββ Important but not vital
βββ Painful to omit
βββ Workaround possible
βββ ~20% of effort
COULD HAVE:
βββ Nice to have
βββ Easy wins included
βββ First to cut if needed
βββ ~20% of effort
WON'T HAVE (this time):
βββ Acknowledged desires
βββ Explicitly out of scope
βββ Future consideration
βββ Documented, not forgotten
EXAMPLE SPRINT:
βββββββββββββββββββββββββββββββββββββ
MUST:
βββ User login
βββ Password reset
βββ Profile creation
SHOULD:
βββ OAuth integration
βββ Remember me option
COULD:
βββ Avatar upload
βββ Two-factor auth
WON'T:
βββ Social login
βββ Biometric auth
IF RUNNING BEHIND:
βββ Keep all MUST
βββ Evaluate SHOULD items
βββ Drop COULD items first
βββ Never drop MUST
Value vs Effort Matrix
VALUE VS EFFORT MATRIX
ββββββββββββββββββββββ
LOW EFFORT HIGH EFFORT
ββββββββββββββββββββ¬βββββββββββββββββββ
β β β
HIGH β QUICK WINS β BIG BETS β
VALUE β Do first! β Plan carefully β
β β
β
β
β
β
β β
β
β
β
β β
β β β
ββββββββββββββββββββΌβββββββββββββββββββ€
β β β
LOW β FILL-INS β AVOID β
VALUE β Do if time β Don't do β
β β
β
βββ β β
ββββ β
β β β
ββββββββββββββββββββ΄βββββββββββββββββββ
PRIORITY ORDER:
βββββββββββββββββββββββββββββββββββββ
1. QUICK WINS: High value, low effort
Start here. Maximum ROI.
2. BIG BETS: High value, high effort
Worth it, but plan well.
3. FILL-INS: Low value, low effort
Use to fill gaps. Don't prioritize.
4. AVOID: Low value, high effort
Why would you? Don't.
VISUAL PLACEMENT:
βββββββββββββββββββββββββββββββββββββ
Map each backlog item on the matrix.
Clear visualization helps discussions.
"Why are we doing that low-value item
when these quick wins are waiting?"
Process
Regular Prioritization
PRIORITIZATION PROCESS
ββββββββββββββββββββββ
WEEKLY BACKLOG REFINEMENT:
βββββββββββββββββββββββββββββββββββββ
1. REVIEW NEW ITEMS (15 min)
βββ Any new requests this week?
βββ Initial value assessment
βββ Rough effort estimate
βββ Add to backlog in right position
2. SCORE TOP ITEMS (20 min)
βββ Apply RICE to top 20 items
βββ Update if new information
βββ Discuss any scoring disagreements
βββ Rank by score
3. VALIDATE WITH STAKEHOLDERS (15 min)
βββ Does ranking match expectations?
βββ Any strategic changes?
βββ Missing context?
βββ Final adjustments
4. GROOM FOR SPRINT (10 min)
βββ Are top items sprint-ready?
βββ Clear acceptance criteria?
βββ Sized appropriately?
βββ Dependencies identified?
OUTPUT:
βββββββββββββββββββββββββββββββββββββ
βββ Prioritized backlog
βββ Top items ready for sprint
βββ Stakeholder alignment
βββ Documented decisions
Handling Conflicts
RESOLVING PRIORITY CONFLICTS
ββββββββββββββββββββββββββββ
COMMON CONFLICTS:
βββββββββββββββββββββββββββββββββββββ
βββ Stakeholder A wants Feature X
βββ Stakeholder B wants Feature Y
βββ Both claim "highest priority"
βββ Limited capacity
RESOLUTION FRAMEWORK:
βββββββββββββββββββββββββββββββββββββ
Step 1: Use data
βββ What do RICE scores say?
βββ Which has higher value?
βββ Which has better ROI?
βββ Data often resolves conflict
Step 2: Connect to strategy
βββ What's the company priority?
βββ Which aligns with goals?
βββ CEO tiebreaker?
βββ Strategy provides direction
Step 3: Facilitate discussion
βββ Bring stakeholders together
βββ Share data transparently
βββ Let them hear each other
βββ Often find compromise
Step 4: Product Owner decides
βββ When consensus impossible
βββ PO has final authority
βββ Decision is documented
βββ Move forward
βββ Revisit if context changes
DOCUMENTATION:
βββββββββββββββββββββββββββββββββββββ
"Decision: Feature X prioritized over Y because:
- Higher RICE score (45K vs 32K)
- Aligns with Q1 revenue goals
- Lower risk, higher confidence
Feature Y planned for next quarter."
GitScrum Setup
Priority Management
GITSCRUM PRIORITIZATION
βββββββββββββββββββββββ
PRIORITY FIELD:
βββββββββββββββββββββββββββββββββββββ
Each item has priority:
βββ P0 - Critical (blocks other work)
βββ P1 - High (core functionality)
βββ P2 - Medium (important)
βββ P3 - Low (nice to have)
βββ Used for quick filtering
CUSTOM FIELDS FOR RICE:
βββββββββββββββββββββββββββββββββββββ
Add fields:
βββ Reach (number)
βββ Impact (select: 0.25, 0.5, 1, 2, 3)
βββ Confidence (select: 50%, 80%, 100%)
βββ Effort (number)
βββ RICE Score (calculated)
βββ Sort by RICE descending
BACKLOG VIEW:
βββββββββββββββββββββββββββββββββββββ
View: Prioritized Backlog
Sort by: RICE Score (desc)
Group by: Priority level
Show: Title, RICE, Assignee, Status
LABELS:
βββββββββββββββββββββββββββββββββββββ
βββ must-have (red)
βββ should-have (yellow)
βββ could-have (green)
βββ wont-have (gray)
βββ Quick MoSCoW filtering
Best Practices
For Prioritization
Anti-Patterns
PRIORITIZATION MISTAKES:
β Everything is P1
β Newest = highest priority
β Loudest stakeholder wins
β No framework, gut feeling only
β Never saying "no" or "later"
β Reprioritizing mid-sprint
β Ignoring data for politics
β Not communicating priorities