Marketplace

prioritization-methods

Requirements prioritization techniques including MoSCoW, Kano Model, WSJF (SAFe), and Wiegers' Value/Cost/Risk matrix. Provides scoring frameworks, trade-off analysis, and priority visualization. Use when ranking requirements by business value, customer impact, or implementation efficiency.

allowed_tools: Read, Write, Glob, Grep, Task

$ Installieren

git clone https://github.com/melodic-software/claude-code-plugins /tmp/claude-code-plugins && cp -r /tmp/claude-code-plugins/plugins/requirements-elicitation/skills/prioritization-methods ~/.claude/skills/claude-code-plugins

// tip: Run this command in your terminal to install the skill


name: prioritization-methods description: "Requirements prioritization techniques including MoSCoW, Kano Model, WSJF (SAFe), and Wiegers' Value/Cost/Risk matrix. Provides scoring frameworks, trade-off analysis, and priority visualization. Use when ranking requirements by business value, customer impact, or implementation efficiency." allowed-tools: Read, Write, Glob, Grep, Task

Requirements Prioritization Methods

Comprehensive guide to prioritization techniques for requirements and features.

When to Use This Skill

Keywords: prioritization, priority, MoSCoW, Kano model, WSJF, weighted shortest job first, value cost risk, Wiegers, priority matrix, must have should have, delighters, basic needs, performance features, cost of delay

Use this skill when:

  • Ranking requirements by business value
  • Choosing between competing features
  • Allocating limited development capacity
  • Communicating priority decisions to stakeholders
  • Balancing customer satisfaction vs implementation effort
  • Making trade-off decisions in product planning

Prioritization Methods Overview

MethodBest ForComplexityStakeholder Input
MoSCoWQuick categorization, MVP scopeLowLow
Kano ModelCustomer satisfaction analysisMediumHigh (surveys)
WSJFAgile/SAFe environments, flow optimizationMediumMedium
Wiegers' MatrixQuantitative value/cost analysisHighMedium
Opportunity ScoringJTBD-aligned prioritizationMediumHigh (surveys)

MoSCoW Method

Categories

moscow:
  must:
    definition: "Non-negotiable for this release"
    criteria:
      - "System won't work without it"
      - "Legal/regulatory requirement"
      - "Core to value proposition"
    typical_percentage: "60% of effort"

  should:
    definition: "Important but not critical"
    criteria:
      - "Significant value, but workarounds exist"
      - "Key stakeholder expectations"
      - "Competitive parity"
    typical_percentage: "20% of effort"

  could:
    definition: "Nice to have if time permits"
    criteria:
      - "Enhances user experience"
      - "Low effort, incremental value"
      - "Differentiator but not essential"
    typical_percentage: "20% of effort"

  wont:
    definition: "Explicitly out of scope for now"
    criteria:
      - "Agreed to defer, not rejected"
      - "Future consideration"
      - "Resource constraints"
    note: "Document for future reference"

Application

moscow_process:
  1. List all requirements
  2. Start with MUST - be strict (if everything is MUST, nothing is)
  3. Move to WON'T - explicitly exclude
  4. Distribute remaining between SHOULD and COULD
  5. Validate: MUSTs should be ~60% of capacity

  warning_signs:
    - "All requirements are MUST" → Be stricter
    - "No WON'Ts" → You're avoiding hard decisions
    - "MUSTs exceed capacity" → Re-evaluate or reduce scope

Kano Model

Feature Categories

kano_categories:
  basic:
    name: "Basic (Must-Be)"
    description: "Expected features - absence causes dissatisfaction"
    examples:
      - "Website loads without errors"
      - "Login works correctly"
      - "Data is saved reliably"
    satisfaction_curve: "Only prevents dissatisfaction, doesn't create satisfaction"

  performance:
    name: "Performance (One-Dimensional)"
    description: "More is better - linear satisfaction"
    examples:
      - "Page load speed"
      - "Storage capacity"
      - "Number of integrations"
    satisfaction_curve: "Linear relationship to investment"

  excitement:
    name: "Excitement (Delighters)"
    description: "Unexpected features that create delight"
    examples:
      - "AI-powered suggestions"
      - "Personalized experience"
      - "Innovative shortcuts"
    satisfaction_curve: "High satisfaction, low expectation"

  indifferent:
    name: "Indifferent"
    description: "Features users don't care about"
    examples:
      - "Technical implementation details"
      - "Over-engineered features"
    action: "Deprioritize or remove"

  reverse:
    name: "Reverse"
    description: "Features some users actively dislike"
    examples:
      - "Mandatory tutorials"
      - "Intrusive notifications"
    action: "Make optional or remove"

Kano Survey Method

kano_survey:
  question_pair:
    functional: "How would you feel if [feature] was present?"
    dysfunctional: "How would you feel if [feature] was absent?"

  answer_options:
    - "I would like it"
    - "I expect it"
    - "I'm neutral"
    - "I can tolerate it"
    - "I dislike it"

  interpretation_matrix:
    # Functional → Dysfunctional → Category
    "Like → Dislike": "Excitement"
    "Like → Neutral": "Excitement"
    "Expect → Dislike": "Basic"
    "Neutral → Neutral": "Indifferent"
    "Like → Like": "Questionable (inconsistent)"

Kano Visualization

SATISFACTION
    ↑
    │           ╱ Excitement (Delighters)
    │         ╱
    │       ╱
    │     ╱
────┌─────────────── Performance
    │     â•Č
    │       â•Č
    │         â•Č
    │           â•Č Basic (Must-Be)
    │
    └─────────────────────────────→ FULFILLMENT
         Not implemented    Fully implemented

WSJF (Weighted Shortest Job First)

Formula

wsjf:
  formula: "WSJF = Cost of Delay / Job Size"

  cost_of_delay:
    components:
      user_value: "Value to end users/customers"
      time_criticality: "How much value decays with time"
      risk_reduction: "Risk/opportunity enabled by feature"

    formula: "CoD = User Value + Time Criticality + Risk Reduction"

  job_size:
    definition: "Relative effort to implement"
    scale: "Fibonacci (1, 2, 3, 5, 8, 13)"

WSJF Scoring Template

wsjf_example:
  feature: "Mobile App Offline Mode"

  cost_of_delay:
    user_value:
      score: 8
      rationale: "Highly requested by field workers"
    time_criticality:
      score: 5
      rationale: "Competitor launching similar feature in Q2"
    risk_reduction:
      score: 3
      rationale: "Reduces support tickets for connectivity issues"
    total_cod: 16

  job_size:
    score: 5
    rationale: "Moderate complexity, known patterns"

  wsjf_score: 3.2  # 16 / 5

  interpretation: "High priority - good value for effort"

WSJF Comparison Table

FeatureUser ValueTime CritRisk ReductionCoDSizeWSJFRank
Offline Mode8531653.21
Dark Theme511723.52
Export PDF6321181.43

Wiegers' Value/Cost/Risk Method

Scoring Dimensions

wiegers_method:
  dimensions:
    value:
      question: "What relative benefit does this provide?"
      scale: 1-9
      perspective: "Customer/business value"

    penalty:
      question: "What's the relative penalty of NOT having this?"
      scale: 1-9
      perspective: "Risk of omission"

    cost:
      question: "What's the relative cost to implement?"
      scale: 1-9
      perspective: "Development effort"

    risk:
      question: "What's the relative technical risk?"
      scale: 1-9
      perspective: "Uncertainty, complexity"

  formula: |
    Priority = (Value × ValueWeight + Penalty × PenaltyWeight) /
               (Cost × CostWeight + Risk × RiskWeight)

  default_weights:
    value: 2
    penalty: 1
    cost: 1
    risk: 0.5

Wiegers Template

wiegers_example:
  feature: "Two-Factor Authentication"

  scores:
    value: 7      # High security value
    penalty: 9    # Major penalty if missing (compliance risk)
    cost: 5       # Moderate implementation effort
    risk: 3       # Known patterns, low risk

  calculation:
    numerator: (7 × 2) + (9 × 1) = 23
    denominator: (5 × 1) + (3 × 0.5) = 6.5
    priority: 3.54

  interpretation: "High priority due to strong penalty for omission"

Opportunity Scoring (JTBD)

Importance vs Satisfaction

From the JTBD framework:

opportunity_scoring:
  formula: "Opportunity = Importance + (Importance - Satisfaction)"

  data_collection:
    survey_questions:
      importance: "How important is it to [outcome]? (1-10)"
      satisfaction: "How satisfied are you with current ability? (1-10)"

  interpretation:
    score_15_20: "High opportunity - underserved"
    score_10_15: "Moderate opportunity"
    score_5_10: "Low opportunity - well served"
    score_below_5: "Over-served - deprioritize"

  example:
    outcome: "Quickly find relevant products"
    importance: 9
    satisfaction: 4
    score: 14  # 9 + (9-4)
    interpretation: "Moderate-high opportunity"

Choosing a Method

method_selection:
  use_moscow_when:
    - "Quick decisions needed"
    - "Stakeholders familiar with method"
    - "Defining MVP scope"
    - "Binary in/out decisions"

  use_kano_when:
    - "Understanding customer satisfaction drivers"
    - "Product differentiation focus"
    - "Have access to customer surveys"
    - "Balancing basic vs delighter features"

  use_wsjf_when:
    - "Agile/SAFe environment"
    - "Flow-based delivery"
    - "Economic decision-making"
    - "Comparing features of varying sizes"

  use_wiegers_when:
    - "Need quantitative justification"
    - "Multiple stakeholder perspectives"
    - "High-stakes prioritization decisions"
    - "Want to weight multiple factors"

  use_opportunity_when:
    - "JTBD-based product development"
    - "Customer research available"
    - "Finding underserved needs"
    - "Outcome-focused roadmap"

Combining Methods

combined_approach:
  step_1: "Use MoSCoW for initial categorization"
  step_2: "Apply Kano to understand SHOULD/COULD items better"
  step_3: "Use WSJF or Wiegers to rank within categories"
  step_4: "Validate with Opportunity Scoring against customer data"

  example_workflow:
    - "All MUSTs go to backlog (non-negotiable)"
    - "Kano analysis on SHOULDs reveals 3 delighters"
    - "WSJF ranking of delighters prioritizes by value/effort"
    - "Final backlog ordered with business justification"

Output Format

Priority Report Template

priority_report:
  domain: "{domain}"
  method: "{method used}"
  date: "{ISO-8601}"

  summary:
    total_requirements: 25
    high_priority: 8
    medium_priority: 10
    low_priority: 7

  detailed_ranking:
    - rank: 1
      requirement_id: "REQ-001"
      title: "Two-Factor Authentication"
      method_score: 3.54
      rationale: "High penalty for omission, compliance requirement"

    - rank: 2
      requirement_id: "REQ-015"
      title: "Mobile Offline Mode"
      method_score: 3.2
      rationale: "High user value, competitive pressure"

  visualization: |
    [Mermaid or ASCII chart showing priority distribution]

  recommendations:
    - "Immediate focus on top 5 high-priority items"
    - "Consider deferring low-priority items with high cost"
    - "Re-evaluate in 2 weeks based on new information"

Related Commands

  • /prioritize - Apply prioritization methods to requirements
  • /gaps - Identify missing requirements before prioritizing
  • /export - Export prioritized requirements

References

For detailed guidance:

External:

  • Karl Wiegers' "Software Requirements"
  • SAFe Framework WSJF guidance
  • Noriaki Kano's research on customer satisfaction

Version History

  • v1.0.0 (2025-12-26): Initial release - Prioritization Methods skill

Last Updated: 2025-12-26

Repository

melodic-software
melodic-software
Author
melodic-software/claude-code-plugins/plugins/requirements-elicitation/skills/prioritization-methods
3
Stars
0
Forks
Updated21h ago
Added5d ago