Strategy Lab
Menu

MoSCoW Method Prioritization Framework: A Practical Guide

Learn how to use the MoSCoW prioritization framework with a worked example and step-by-step session guide. End recurring priority debates for good.

Strategy Lab EditorialPublished October 6, 20267 min read

The MoSCoW method is a prioritization framework that sorts requirements into four categories: Must have, Should have, Could have, and Won't have (this time). It gives product and project teams a shared vocabulary to settle priority disputes without politics or gut feel. If your planning sessions run long and still produce an ambiguous backlog, MoSCoW can fix that.

What the MoSCoW method is (and where it came from)

MoSCoW was created by Dai Clegg at Oracle in 1994 and later formalized in the DSDM (Dynamic Systems Development Method) framework. The name is an acronym built from the first letters of each priority tier, with lowercase "o"s added to make it pronounceable. It has since migrated from software development into product management, project planning, and marketing roadmaps.

The framework does one thing well: it forces a team to make explicit choices about what is genuinely non-negotiable versus what is merely desirable. That distinction sounds obvious until you are in a room where every stakeholder insists their request is critical.

The four MoSCoW categories

Must have

Must haves are requirements without which the current release, sprint, or project fails. If a Must have is missing at launch, you do not ship. These define your minimum viable output.

A useful test: if you removed this feature or task, would the product be legally non-compliant, unusable, or would the business lose a signed customer commitment? If yes, it is a Must have.

Roughly 60% of your Must haves should be achievable with the team and timeline you actually have, not the ones you wish you had. If everything is a Must have, you have not prioritized. You have renamed your wishlist.

Should have

Should haves are important requirements that are not strictly critical for the current release but carry significant value. You include them if time and capacity allow. Unlike Must haves, their absence is painful but survivable.

Examples: a filtering function in an analytics dashboard, a bulk-edit feature in a CMS, or a third payment gateway integration when two already exist.

Could have

Could haves are nice-to-haves with low relative impact if left out. They are candidates for a future iteration. Including them in the plan is not a commitment to build them now. It is a way to capture them so they do not get lost or relitigated at the next planning session.

Won't have (this time)

Won't have is the most underused category. It is not a permanent no. It is an explicit, recorded decision that something is out of scope for this cycle. Naming things Won't have prevents them from sneaking back in mid-sprint and killing focus.

This category also serves a political function: stakeholders whose requests land here feel heard rather than ignored, because the decision is transparent and documented.

Why teams skip the framework (and pay for it)

Most priority debates are not really about which feature is more valuable. They are about whose opinion carries more weight. Without a shared framework, the loudest voice or the most senior person wins by default, and the backlog reflects that.

MoSCoW works because it shifts the conversation from "I think this is important" to "does this meet the Must have criteria?" That is an answerable question. Subjective debates are not.

For a deeper look at why teams default to the wrong inputs when making decisions, see 6 Cognitive Biases in Business Decision Making.

MoSCoW vs. other prioritization frameworks

FrameworkBest forKey distinction
MoSCoWRelease and sprint planningSeparates critical from desirable; fast to run
Eisenhower MatrixIndividual task and time managementAdds urgency as a second dimension alongside importance
Kano ModelFeature discovery and customer delightMaps features to customer satisfaction curves
Weighted scoringPortfolio decisions with multiple criteriaQuantifies trade-offs across competing stakeholders

If you are deciding which features to build to maximize customer delight rather than just ship reliably, the Kano Model is a strong complement to MoSCoW. For personal productivity and task triage, the Eisenhower Matrix covers similar ground with an urgency lens.

How to run a MoSCoW session

Step 1: Define your scope and constraints

Before you sort a single item, the team needs to agree on two things: the scope of the release or sprint, and the hard constraints. Constraints typically include:

  • Timeline: two-week sprint, Q3 launch date, and so on
  • Capacity: available developer hours or budget
  • Dependencies: what must exist before something else can be built

Skipping this step is the most common reason MoSCoW sessions fail. You cannot sort items meaningfully without knowing what "must" means in your specific context.

Step 2: List all candidate items

Collect every feature, task, or requirement on the table. This includes requests from customers, stakeholders, the product team, and any existing technical debt. Do not filter anything yet.

Step 3: Sort independently before discussing

Have each participant sort the items independently before the group discussion. This prevents anchoring, where the first strong opinion in the room shapes everyone else's view. A shared spreadsheet or sticky notes in a digital whiteboard works fine for this.

Step 4: Compare and negotiate on disagreements

Surface items where participants placed the item in different buckets. Focus discussion on the Must have vs. Should have boundary first. That is where the real prioritization happens. Use the test: "Would a missing Must have cause the release to fail?" If the team cannot answer that with a specific consequence, the scope or success criteria are still ambiguous.

Step 5: Validate the Must have list against capacity

Add up the estimated effort for all Must haves. If they consume more than roughly 60-70% of your available capacity, you have over-classified. Push items down to Should have until the Must have list is achievable. The remaining 30-40% of capacity is your buffer for Should haves and delivery risk.

Step 6: Document Won't haves with rationale

Write down everything in the Won't have bucket and the reason for each decision. This is not busywork. It is a record that prevents the same arguments from resurfacing in three weeks. If you do not have a standing place to capture these decisions, now is a good time to build that habit into your process.

Worked example: B2B invoicing SaaS, Q2 release

Fictional company: Clearbook, an 8-person startup building invoicing software for freelancers and small agencies. They have a 6-week development cycle, two full-stack engineers, and a committed launch date that cannot slip because three enterprise prospects are waiting on it.

Total available capacity: 2 engineers x 30 working days = 60 dev days.

FeatureRequested byEffort (dev days)Final category
PDF invoice generationStakeholder3Must have
Stripe payment integrationProduct5Must have
Multi-currency supportSales team8Should have
Custom invoice templatesMarketing6Should have
Recurring invoicesCustomer request4Should have
Client portal (view/download)Founder10Could have
Xero/QuickBooks syncSales team12Won't have this cycle
White-label brandingOne prospect7Won't have this cycle

Must haves total 8 dev days, or 13% of capacity. That leaves 52 dev days for Should haves, QA, bug fixes, and delivery risk. Multi-currency support and recurring invoices (12 dev days combined) get pulled into the sprint after the Must haves clear QA.

Notice that the founder's preferred feature (client portal) ended up as a Could have. That outcome is only possible if the team agrees on criteria before the session rather than deferring to seniority. For guidance on building that kind of alignment before you open the meeting, see How to Get Team Buy-In on a New Strategy.

The most common MoSCoW mistake (and how to avoid it)

The mistake: treating MoSCoW as a voting exercise.

Teams often sort items based on stakeholder preference rather than functional impact. The result is a Must have list that reflects whoever has the most seniority or the loudest voice, a Should have list that is nearly empty, and no real prioritization at all.

This happens because the framework provides buckets but does not enforce criteria. Without the criteria, you are just labeling opinions.

How to avoid it: Before any item gets classified as a Must have, require the team to complete this sentence out loud: "If we ship without this, the release will fail because..." If nobody can finish that sentence with a specific, external consequence (regulatory failure, data loss, zero core functionality, loss of a signed contract), the item is not a Must have.

Run this test for every contested Must have. It is uncomfortable. That discomfort is the whole point. Prioritization means saying no to things that feel important.

A second structural guard: announce a capacity cap at the start of the session. Tell the team that Must haves can consume at most 65% of available capacity. When people know the bucket has a size limit before they start filling it, they self-select more carefully.

Key takeaways

  • MoSCoW sorts requirements into Must have, Should have, Could have, and Won't have (this cycle), giving teams a shared vocabulary that replaces opinion-based debates.
  • The Won't have category is the most politically useful: it documents out-of-scope decisions so they do not re-emerge mid-sprint.
  • Must haves should consume no more than 60-70% of available capacity. If they exceed that, you have not prioritized, you have just renamed your full backlog.
  • The biggest failure mode is treating MoSCoW as a vote. Require teams to complete the sentence "the release will fail because..." before any item earns Must have status.
  • Sort independently before discussing as a group; this single step prevents anchoring on the first strong opinion in the room.
  • MoSCoW pairs well with the Kano Model for feature discovery and with a standing decision log for capturing Won't have rationale across release cycles.

Frequently asked questions

What does MoSCoW stand for in project management?
MoSCoW stands for Must have, Should have, Could have, and Won't have. The lowercase 'o's were added to make the acronym pronounceable. It was developed by Dai Clegg at Oracle in 1994 and later adopted across agile and project management frameworks.
What is the difference between Must have and Should have in MoSCoW?
Must haves are non-negotiable requirements without which the release or project fails outright. Should haves are important but not critical: their absence is painful but the release can still ship and function without them.
How many items should be in the Must have category?
There is no fixed number, but Must haves should consume no more than 60-70% of your available capacity. If Must haves take up all your resources, you have not actually prioritized: you have relabeled your full backlog.
When should you use MoSCoW over other prioritization frameworks?
MoSCoW works best for sprint planning, release scoping, and any situation where a team needs to agree on what is in scope under time or resource constraints. For individual task management, the Eisenhower Matrix is often more practical.
Is Won't have in MoSCoW the same as rejected?
No. Won't have means out of scope for this specific cycle, not permanently rejected. The full phrase is 'Won't have this time,' which signals the item may be reconsidered in a future release and should be documented accordingly.
prioritizationframeworksproduct managementproject planningMoSCoW method
Keep reading

Related playbooks