The problem isn’t what to build—it’s what to cut
Every product team has more ideas than capacity. That’s not the hard part. The hard part is getting a room full of stakeholders to agree on what won’t make it into the next release. The MoSCoW method gives you a framework for exactly that conversation—forcing explicit decisions about what’s essential versus what’s negotiable.
Unlike scoring systems that output abstract numbers, MoSCoW speaks in plain language that executives, engineers, and customers can all understand: this feature is a must-have, that one’s a nice-to-have, and these ones aren’t happening this time.
Here’s how to run MoSCoW prioritization without everything ending up in the “Must Have” bucket—and when to use it instead of other frameworks like RICE.
What the MoSCoW method actually is
Developed by Dai Clegg at Oracle in 1994 for use in rapid application development, MoSCoW categorizes requirements into four buckets:
- Must have — Non-negotiable requirements. Without these, the product doesn’t ship, the release fails, or the business objective is missed. These are your minimum viable scope.
- Should have — Important but not critical. You’d strongly prefer to include these, but the release can succeed without them. They might be painful to cut, but they’re cuttable.
- Could have — Desirable if time and resources allow. These are genuine nice-to-haves that would improve the product but won’t significantly impact success if excluded.
- Won’t have (this time) — Explicitly out of scope for this release. Not rejected forever—just consciously deferred. This category is crucial for managing expectations.
The “o”s in MoSCoW are just there to make it pronounceable. Some teams write it as M/S/C/W to avoid confusion.
The critical distinction most teams miss
The line between “Must” and “Should” isn’t about importance—it’s about consequences. Ask: “If we ship without this, what breaks?”
A feature is a Must Have only if one of these is true:
- The product literally won’t function without it (a checkout flow needs a payment step)
- There’s a contractual, legal, or regulatory requirement
- A specific, validated user need goes completely unmet
- The business case for the entire initiative fails
“Our biggest customer asked for it” doesn’t automatically make something a Must Have. “Users will be slightly annoyed” doesn’t either.
MoSCoW vs. RICE: when to use which
Both frameworks help with prioritization, but they solve different problems:
Use MoSCoW when:
- You’re scoping a specific release, sprint, or project
- You need stakeholder alignment on what’s in vs. out
- Requirements are already defined and you’re making trade-offs
- You’re working with non-technical stakeholders who need clear categories
- Time or budget is fixed and scope is variable
Use RICE when:
- You’re prioritizing a backlog of independent opportunities
- You need to compare very different types of initiatives
- You want a quantified ranking, not categories
- You have data on reach, impact, and effort
At Intercom, product teams often use RICE for quarterly roadmap planning [INTERNAL_LINK: RICE framework], then switch to MoSCoW when scoping individual projects. The frameworks complement each other—RICE tells you which projects to tackle, MoSCoW tells you how much of each project to bite off.
How to run a MoSCoW session that actually works
A poorly run MoSCoW session produces a list where 80% of items are “Must Haves” and everyone leaves frustrated. Here’s how to avoid that:
Step 1: Set the constraint before you start
MoSCoW only works when there’s a forcing function. Before categorizing anything, establish the constraint: a deadline, a budget, a team size, or a capacity number.
Then set a rule: Must Haves cannot exceed 60% of available capacity. Some teams use 50%. The exact number matters less than having one. This forces real prioritization instead of aspirational list-making.
If stakeholders push back, explain: if everything is a Must Have, you’ve just renamed your backlog. The whole point is to identify what gets cut when reality hits.
Step 2: Define “Must Have” criteria upfront
Before looking at any specific feature, align on what qualifies as a Must Have. Write the criteria on a whiteboard:
- Without this, users cannot complete the core job-to-be-done
- Without this, we violate compliance/legal requirements
- Without this, the initiative’s success metric cannot be achieved
- Without this, we break existing functionality
When someone argues for Must Have status, they need to map their argument to one of these criteria. “It’s really important” doesn’t qualify.
Step 3: Start with the easy calls
Go through your list and identify the obvious ones first—the clear Must Haves and clear Won’t Haves. This builds momentum and reduces the pile of contentious items.
Most lists have about 20% obvious calls on each end. That leaves 60% in the messy middle where the real work happens.
Step 4: Force the trade-off conversation
For contested items, use this question: “If we can only do one of these two things, which one?”
Pair items up and force choices. This comparative approach is easier than absolute categorization and exposes true priorities faster.
When a stakeholder insists something is a Must Have, ask: “What would you cut from the current Must Have list to fit this in?” Making trade-offs tangible changes the conversation.
Step 5: Validate the “Won’t Have” list explicitly
Don’t let Won’t Haves become an afterthought. Read them back to the group and confirm: “These items will not be in this release. Is everyone aligned?”
This is where you catch miscommunications before they become launch-day conflicts. A stakeholder might nod along to Should/Could decisions but object when they hear their pet feature explicitly called out as Won’t Have.
Real examples of MoSCoW in practice
Example 1: E-commerce checkout redesign
An e-commerce team redesigning their checkout flow with 8 weeks of dev capacity used MoSCoW to scope:
Must Have:
- Guest checkout option (data showed 23% cart abandonment due to forced account creation)
- Mobile-responsive design (58% of traffic was mobile)
- Integration with existing payment processor
Should Have:
- Address autocomplete
- Order summary sidebar
- Save payment method for logged-in users
Could Have:
- Apple Pay integration
- Gift wrapping option
- Delivery date picker
Won’t Have (this time):
- Buy-now-pay-later integration (required vendor negotiation)
- International shipping calculator (scope creep)
- Loyalty points redemption (dependent on another team’s work)
At week 6, when QA issues ate into development time, the team cut the Should Haves without panic—they’d already agreed these were cuttable. They shipped on time with the Must Haves intact.
Example 2: B2B SaaS MVP
A startup building a project management tool for agencies used MoSCoW to define their MVP scope:
Their key insight: “Won’t Have” became their post-launch roadmap. By explicitly listing what they were deferring—time tracking, resource management, client portals—they could tell early customers “that’s coming in Q2” instead of “we haven’t thought about that.”
Common mistakes and how to avoid them
Mistake 1: No capacity constraint
Without a constraint, everything becomes a Must Have because there’s no forcing function. Always start by establishing the box you’re fitting things into.
Mistake 2: Treating Should as “second-tier Must”
Should Have items need to be genuinely cuttable. If cutting them would cause stakeholder revolt, they’re actually Must Haves—you’ve just mislabeled them.
Test each Should by asking: “If we cut this at week 6 due to unexpected complexity, is that acceptable?” If the answer is “absolutely not,” recategorize it.
Mistake 3: Empty “Won’t Have” list
If nothing is in Won’t Have, you haven’t prioritized—you’ve just described your wishlist. Aim for at least 15-20% of items in this bucket.
Mistake 4: Using MoSCoW for ongoing backlog management
MoSCoW works best for time-boxed efforts with clear boundaries. For continuous prioritization of an evolving backlog, weighted scoring methods like RICE or value-vs-effort matrices work better [INTERNAL_LINK: prioritization frameworks].
Mistake 5: Skipping the stakeholder session
MoSCoW’s biggest value is forcing the trade-off conversation with stakeholders before development starts. If you categorize alone and present the results, you miss the buy-in that makes the framework work.
Making MoSCoW stick
The framework only works if the categorization survives contact with reality. Two practices help:
Document the reasoning, not just the category. Write down why each Must Have qualified. When someone challenges it later, you can point to the original criteria instead of relitigating from scratch.
Review when scope changes. If you gain or lose capacity, revisit the boundaries. A Should Have might become a Must Have if you’re ahead of schedule—or a Could Have might drop to Won’t Have if you’re behind.
The MoSCoW method won’t eliminate scope debates. But it gives you a shared vocabulary and explicit structure for having them—which means less time arguing about what “priority” means and more time building what actually matters.
Frequently asked questions
What does MoSCoW stand for?
MoSCoW stands for Must have, Should have, Could have, and Won’t have (this time). It’s a prioritization technique used to agree on what’s essential vs. optional for a given release or project.
How do you run a MoSCoW session?
Gather your team and stakeholders. List all requirements or features. Timeboxed voting — everyone categorizes each item into M, S, C, or W. Discuss disagreements. The output is a clear, agreed-upon list of what’s in and out.
What is the most common MoSCoW mistake?
Everything becoming a Must Have. When this happens, the prioritization hasn’t actually happened — teams use MoSCoW as cover to avoid saying no. A good rule: Must Haves should be 60% or less of the total effort.
