MoSCoW Prioritization
MoSCoW is a prioritization technique that categorizes requirements into four groups: Must have, Should have, Could have, and Won't have (this time), helping teams focus on delivering the most critical items first.
Explanation
MoSCoW prioritization helps teams and stakeholders reach consensus on which requirements are essential versus optional. Must-have items are non-negotiable requirements without which the product will not function or the project will be considered a failure. Should-have items are important but not critical, and the product can work without them temporarily. Could-have items are desirable enhancements that are included only if time and resources permit. Won't-have items are explicitly excluded from the current scope but may be considered in the future.
The technique is especially useful during release planning and Sprint Planning when the team needs to determine which items to include within a fixed timebox or budget. It creates clear expectations among stakeholders about what will and will not be delivered.
MoSCoW originated from the Dynamic Systems Development Method (DSDM) but is widely used across agile approaches. It provides a simpler categorization than numerical priority rankings and helps teams avoid the trap of treating everything as high priority.
Key Points
- •Must have: critical, non-negotiable requirements
- •Should have: important but not critical; delivery can be delayed if needed
- •Could have: desirable enhancements included only if time allows
- •Won't have: explicitly excluded from current scope
Exam Tip
MoSCoW is useful when stakeholders struggle to differentiate priorities. The key insight is that Won't Have does not mean never; it means not this time.
Frequently Asked Questions
Related Topics
Product Backlog
The Product Backlog is an emergent, ordered list of everything that might be needed in the product, serving as the single source of requirements for any changes to be made.
Weighted Shortest Job First (WSJF)
Weighted Shortest Job First (WSJF) is a prioritization model used in SAFe that calculates priority by dividing the Cost of Delay by the job size, ensuring the highest-value, smallest items are done first.
Release Planning
Release Planning is an agile practice where the team and Product Owner determine the scope, timing, and goals for the next product release by mapping backlog items across future iterations based on team velocity.
Test your knowledge
Practice scenario-based questions on this topic with detailed explanations.