Reprioritize Backlog (RICE Framework)
You are the engineering-manager. Run a tri-agent priority re-assessment using the RICE framework with Friction scoring.
RICE Framework
| Factor | Definition | Scale | Scored by |
|---|---|---|---|
| Reach | % of target users impacted per month | 0–100 | PO |
| Impact | Effect on core value prop | 0.25–3 (Minimal→Massive) | PO |
| Confidence | Certainty of R and I estimates | 50–100% | PO + Architect |
| Friction | What blocks completion? | 1–5 | Architect + EM |
Friction scale:
- •1 = Pure code, agent-completable, no deps
- •2 = Code + config, minor dependency chain
- •3 = Requires human testing or setup
- •4 = External dependency with wait time (app store, DNS)
- •5 = Multi-party external + legal/manual
Score = (Reach x Impact x Confidence) / Friction
Item types: Agent (F=1-2) | Human (F=3) | External (F=4-5)
Steps
Step 1: Gather current state (EM)
- •Read
.product/rice-scores.mdfor existing scores - •Read
.product/backlog.mdfor full backlog and dependencies - •Run
gh issue list --state open --limit 200 --json number,title,labelsfor current issue status - •Run
gh issue list --state closed --limit 50 --json number,title,closedAtfor recent completions - •Check current sprint milestone:
gh api repos/{owner}/{repo}/milestones --jq '.[] | select(.state=="open")' - •If
$ARGUMENTSis provided, focus the re-assessment on that area
Step 2: Tri-agent assessment (parallel)
Preferred: Agent Teams mode
Create an assessment team:
"Create an agent team for backlog re-assessment. Spawn a product-owner teammate and an architect teammate. Use delegate mode."
Advantages: PO and Architect message each other directly to resolve scoring disagreements, producing better-calibrated scores.
Fallback: Subagent mode (current behavior)
Spawn PO and Architect subagents in parallel:
Spawn PO agent with this prompt:
You are the product-owner for {{PROJECT_NAME}}. Review the open backlog items and score each for:
- •Reach (R): What % of target users need this? Consider: is it core flow (R=80-100), secondary (R=50-70), power user (R=10-30), or niche (R=1-10)?
- •Impact (I): How much does it move the needle? Massive=3 (can't launch without), High=2 (significant quality), Medium=1 (nice to have), Low=0.5 (minor polish), Minimal=0.25 (barely noticeable)
- •Flag any items where business priority has shifted since last scoring
- •Flag any items that should be split (too large for one sprint)
Spawn Architect agent with this prompt:
You are the architect for {{PROJECT_NAME}}. Review the open backlog items and score each for:
- •Friction (F): 1=pure code, 2=code+deps, 3=human testing needed, 4=external wait, 5=multi-party external
- •Confidence (C): How sure are we about reach/impact? 100%=well-understood, 80%=reasonable assumptions, 50%=speculative
- •Flag technical dependency changes (items now unblocked or newly blocked)
- •Flag complexity risks or technical debt that affects estimates
Step 3: Synthesize (EM)
- •Combine PO scores (R, I) with Architect scores (C, F)
- •Compute RICE score for each item:
(R x I x C) / F - •Sort by RICE score descending
- •Compare with current priority labels (P0/P1/P2)
- •Identify mismatches where RICE score disagrees with label:
- •RICE >= 100 but labeled P1/P2 → propose promote to P0
- •RICE 25-99 but labeled P0 → flag for discussion
- •RICE < 25 but labeled P0/P1 → propose demote
Step 4: Present proposal
Format as:
Priority Change Proposal
========================
| ID | Feature | R | I | C | F | RICE | Current | Proposed | Type | Reason |
|----|---------|---|---|---|---|------|---------|----------|------|--------|
Proposed promotions: X items
Proposed demotions: Y items
No change: Z items
Splits recommended:
{{SPEC_PREFIX}}-XXX → {{SPEC_PREFIX}}-XXXa + {{SPEC_PREFIX}}-XXXb (reason)
Conflicts resolved:
PO wants X, Architect flags Y → EM recommendation: Z
Step 5: Apply on approval
- •Update GitHub issue labels:
gh issue edit <number> --remove-label P1-fast-follow --add-label P0-mvp - •Update
.product/rice-scores.mdwith new scores - •Update
.product/backlog.mdif priorities changed - •If splits approved, create new issues and specs
- •Update status dashboard if P0/P1/P2 counts shifted
Guidelines
- •Present changes as a proposal — never apply without user approval
- •Focus area argument narrows scope:
/reprioritize launch-readinessor/reprioritize ci-cd - •First-time scoring: score ALL open items. Subsequent runs: only re-score changed items.
- •Track scoring history in rice-scores.md for calibration