Task Prioritization Methods | MoSCoW, RICE, Matrix
Prioritize work with MoSCoW, Value vs Effort matrix, RICE scoring, or stack ranking. GitScrum supports priority fields, drag ordering, and custom scoring.
7 min read
Not all tasks are equal. Good prioritization ensures teams work on the most valuable things first, avoid wasting time on low-impact work, and make trade-offs consciously. This guide covers practical prioritization methods for development teams.
Prioritization Methods
| Method | Best For | Complexity |
|---|---|---|
| Stack Ranking | Simple backlogs | Low |
| MoSCoW | Release planning | Low |
| Value vs Effort | Trade-off decisions | Medium |
| RICE | Objective scoring | High |
| WSJF | Scaled agile | High |
MoSCoW Method
Categorizing Priority
MOSCOW PRIORITIZATION
βββββββββββββββββββββ
CATEGORIES:
βββββββββββββββββββββββββββββββββββββ
MUST HAVE
βββ Critical for success
βββ System won't work without it
βββ Regulatory/legal requirement
βββ Core value proposition
βββ Non-negotiable for release
SHOULD HAVE
βββ Important but not critical
βββ Significant value
βββ Could work around if needed
βββ High priority after Musts
βββ Target for release
COULD HAVE
βββ Nice to have
βββ Adds value but not essential
βββ Only if time allows
βββ First to cut if behind
βββ Included if capacity exists
WON'T HAVE (THIS TIME)
βββ Explicitly out of scope
βββ Prevents scope creep
βββ Acknowledged as desired
βββ Deferred to future
βββ Not in this release
USAGE:
βββββββββββββββββββββββββββββββββββββ
Release planning:
βββ All Musts = minimum viable release
βββ Musts + most Shoulds = target
βββ Add Coulds if ahead
βββ Won't = clear expectations
βββ Stakeholders see trade-offs
EXAMPLE:
βββββββββββββββββββββββββββββββββββββ
User Authentication Release:
MUST:
βββ Email/password login
βββ Password reset
βββ Session management
SHOULD:
βββ Google OAuth
βββ Remember me
βββ Account lockout
COULD:
βββ GitHub OAuth
βββ Two-factor authentication
βββ Login history
WON'T (v1):
βββ SAML/SSO
βββ Biometric login
βββ Passwordless login
Value vs Effort
Matrix Prioritization
VALUE VS EFFORT MATRIX
ββββββββββββββββββββββ
β LOW EFFORT β HIGH EFFORT
βββββββββΌββββββββββββββββββΌββββββββββββββββββ
HIGH β QUICK WINS β MAJOR PROJECTS
VALUE β Do First! β Plan Carefully
β (Best ROI) β (Significant work)
βββββββββΌββββββββββββββββββΌββββββββββββββββββ
LOW β FILL-INS β AVOID
VALUE β Maybe Later β Don't Do
β (If time) β (Waste of effort)
PRIORITIZATION ORDER:
βββββββββββββββββββββββββββββββββββββ
1. Quick Wins: High value, low effort
Do these firstβbest ROI
2. Major Projects: High value, high effort
Worth doing, need planning
3. Fill-ins: Low value, low effort
Only if capacity exists
4. Avoid: Low value, high effort
Say noβopportunity cost too high
PLOTTING ITEMS:
βββββββββββββββββββββββββββββββββββββ
For each backlog item:
βββ Rate Value: 1-10 (customer impact, revenue, urgency)
βββ Rate Effort: 1-10 (time, complexity, risk)
βββ Plot on matrix
βββ Prioritize quadrant by quadrant
βββ Visual makes trade-offs clear
TEAM EXERCISE:
βββββββββββββββββββββββββββββββββββββ
1. List all backlog items
2. Team rates effort (they know)
3. PO rates value (they know)
4. Plot on whiteboard/Miro
5. Discuss and adjust
6. Priority emerges visually
RICE Scoring
Objective Prioritization
RICE FRAMEWORK
ββββββββββββββ
COMPONENTS:
βββββββββββββββββββββββββββββββββββββ
R = REACH
βββ How many users affected per time period?
βββ Number of customers/transactions/etc.
βββ Quantify: "1000 users/month"
I = IMPACT
βββ How much will it impact each user?
βββ Scale: 3 = massive, 2 = high, 1 = medium,
β 0.5 = low, 0.25 = minimal
βββ Qualitative but standardized
C = CONFIDENCE
βββ How sure are we of estimates?
βββ 100% = high confidence
βββ 80% = medium
βββ 50% = low
βββ Reduces score for uncertainty
E = EFFORT
βββ Person-months of work
βββ Include all roles (dev, design, QA)
βββ Higher effort = lower priority
FORMULA:
βββββββββββββββββββββββββββββββββββββ
RICE Score = (Reach Γ Impact Γ Confidence) / Effort
Higher score = Higher priority
EXAMPLE:
βββββββββββββββββββββββββββββββββββββ
Feature A: New checkout flow
βββ Reach: 10,000 users/month
βββ Impact: 2 (highβconversion)
βββ Confidence: 80%
βββ Effort: 3 person-months
βββ RICE = (10000 Γ 2 Γ 0.8) / 3 = 5,333
Feature B: Dark mode
βββ Reach: 15,000 users/month
βββ Impact: 0.5 (lowβnice to have)
βββ Confidence: 100%
βββ Effort: 1 person-month
βββ RICE = (15000 Γ 0.5 Γ 1.0) / 1 = 7,500
Prioritize: B then A (higher RICE)
WHEN TO USE RICE:
βββββββββββββββββββββββββββββββββββββ
βββ Comparing many features
βββ Need objective criteria
βββ Stakeholder disagreements
βββ Data-driven decisions
βββ Removes politics from prioritization
Stack Ranking
Simple Ordering
STACK RANKING
βββββββββββββ
CONCEPT:
βββββββββββββββββββββββββββββββββββββ
One ordered list.
No ties allowed.
Most important at top.
HOW TO BUILD:
βββββββββββββββββββββββββββββββββββββ
1. Start with two items
"Which is more important?"
Put winner on top.
2. Take next item
"Where does this fit?"
Insert in order.
3. Repeat for all items
Binary comparisons throughout.
Final list is fully ordered.
BENEFITS:
βββββββββββββββββββββββββββββββββββββ
βββ Simpleβno frameworks needed
βββ Clearβno ambiguity
βββ Forces decisionsβno "both P1"
βββ Easy to followβstart at top
βββ No gamingβcan't all be high priority
EXAMPLE:
βββββββββββββββββββββββββββββββββββββ
Sprint Backlog (Stack Ranked):
1. Fix payment bug (blocking sales)
2. User login flow (release blocker)
3. Dashboard improvements (customer request)
4. Search feature (roadmap item)
5. Performance optimization (tech debt)
6. Dark mode (nice to have)
Rule: Work on #1 first.
Only move to #2 when #1 is done.
Stack is the priority.
WHEN TO USE:
βββββββββββββββββββββββββββββββββββββ
βββ Small backlogs (<30 items)
βββ Simple prioritization needed
βββ Single decision-maker
βββ Sprint-level planning
βββ When frameworks are overkill
Prioritization Process
Involving the Right People
PRIORITIZATION ROLES
ββββββββββββββββββββ
WHO DECIDES WHAT:
βββββββββββββββββββββββββββββββββββββ
PRODUCT OWNER:
βββ Final priority decision
βββ Value assessment
βββ Stakeholder balance
βββ Trade-off calls
βββ Owns the backlog order
STAKEHOLDERS:
βββ Business value input
βββ Urgency context
βββ Customer insights
βββ Strategic alignment
βββ Influence, don't dictate
TEAM:
βββ Effort estimates
βββ Technical feasibility
βββ Dependency identification
βββ Risk assessment
βββ Reality check on priorities
USERS:
βββ Needs validation
βββ Pain point severity
βββ Feature feedback
βββ Usage data
βββ Ground truth
PROCESS:
βββββββββββββββββββββββββββββββββββββ
1. Gather input from all sources
2. PO synthesizes into priority
3. Team reviews for feasibility
4. Stakeholders acknowledge trade-offs
5. PO finalizes
6. Team executes in priority order
GitScrum Prioritization
Priority Features
GITSCRUM PRIORITIZATION
βββββββββββββββββββββββ
PRIORITY FIELD:
βββββββββββββββββββββββββββββββββββββ
Task β Priority
βββ Critical
βββ High
βββ Medium
βββ Low
βββ Custom levels available
ORDERING:
βββββββββββββββββββββββββββββββββββββ
Backlog β Drag to reorder
βββ Stack rank visually
βββ Top = highest priority
βββ Drag and drop
βββ Saved automatically
PRIORITY VIEWS:
βββββββββββββββββββββββββββββββββββββ
Filter by:
βββ Priority level
βββ Custom fields
βββ Labels (MoSCoW tags)
βββ Focus on high priority
SCORING:
βββββββββββββββββββββββββββββββββββββ
Custom fields for:
βββ Value score
βββ Effort score
βββ RICE components
βββ Calculated priority
βββ Data-driven ordering
BACKLOG REFINEMENT:
βββββββββββββββββββββββββββββββββββββ
Refinement session:
βββ Review priority order
βββ Discuss trade-offs
βββ Adjust based on new info
βββ Keep backlog healthy
βββ Regular maintenance
Best Practices
For Prioritization
Anti-Patterns
PRIORITIZATION MISTAKES:
β Everything is "P1"
β Decision by committee
β Never reprioritizing
β No clear owner
β Ignoring team input on effort
β Politics over value
β No trade-off acknowledgment
β Changing priority constantly