Framework

MoSCoW Prioritization: The Must/Should/Could/Won't Framework for Scoping V1

MoSCoW prioritization scopes V1 by sorting features into Must, Should, Could, and Won't. The honest version cuts ruthlessly and ships in weeks, not months.

Origin: Dai Clegg, 1994. Developed at Oracle UK for the Dynamic Systems Development Method (DSDM).
When to use

Whenever you have more candidate features than you can ship in your time window. Most useful at MVP scoping but applicable to any version (V1, V2, sprint planning). The framework is a brutal sorter, not a brainstorming tool.

How to apply MoSCoW

  1. 1

    List every candidate feature without filtering

    Get every idea on the table first. Internal team wishlist, customer requests, competitor parity items, your own pet features. Don't prioritize yet. The discipline of MoSCoW depends on starting from a full set, not a pre-curated one.

  2. 2

    Sort each feature into Must / Should / Could / Won't

    Must = shipping without this means the version literally cannot deliver its goal. Should = important and high-value, but the version is still usable without it. Could = nice to have, no impact on goal achievement. Won't = explicitly out of scope for this version. The fourth bucket matters: 'Won't' is a commitment, not a deferral.

  3. 3

    Apply the 'cannot ship without' test to every Must

    For each feature in Must, ask: if we ship without this, does the version still achieve its goal? If yes, the feature isn't Must. Demote to Should. Most founders fail this test on 50% of their initial Must list. The exercise is the value.

  4. 4

    Cap Must at 60% of capacity

    Even after the sorting exercise, your Must list will grow during the build (discovered work, edge cases, integration costs). The DSDM rule of thumb: Must features should consume no more than 60% of your delivery capacity. The remaining 40% absorbs reality. Founders who put 100% of capacity into Must items always ship late.

  5. 5

    Lock the Won't list publicly

    Communicate the Won't bucket to your team, your stakeholders, and (if relevant) your customers. The Won't list prevents 'while you're at it' scope creep. If a stakeholder asks for a Won't feature mid-build, the answer is 'V2,' not 'sure, we'll add it.'

Why “everything is a priority” means nothing

The most common scope failure isn’t a missed deadline. It’s a feature list where every item has the same urgency, which is what happens when founders refuse to make the brutal sorting decisions.

The fix: a framework that forces discrete bucketing. Dai Clegg invented MoSCoW at Oracle UK in 1994 for the Dynamic Systems Development Method (DSDM). The original purpose was scoping early-agile software projects under time-box constraints. Twenty years later it’s the default sorter for any kind of work with capacity constraints, which is all kinds of work.

The framework’s discipline isn’t in the buckets. It’s in the test you apply to each item: can we ship this version without this feature? If yes, the feature isn’t Must.

The four buckets

Must have. The version cannot ship without this. Removing the feature breaks the version’s ability to deliver its core goal. For an MVP, Musts are the features that test the central hypothesis. Without them, the test doesn’t run.

Should have. Important, high-value, but the version is still usable without it. Removing the feature degrades the version but doesn’t break it. Shoulds typically ship in V1.1 or V2.

Could have. Nice to have. No impact on goal achievement. These usually accumulate in a parking lot and ship opportunistically when there’s slack in a sprint. Most Coulds never ship.

Won’t have. Explicitly out of scope for this version. The Won’t bucket is what makes MoSCoW different from generic prioritization: it’s a public commitment to NOT do something. Discussions of “could we just add this one thing?” get pointed at the Won’t list.

The 60% rule

Even after honest sorting, your Must list will grow during the build. Discovered work, edge cases, integration costs, polish that turns out to be necessary. The DSDM rule of thumb to absorb this:

Must features should consume no more than 60% of your delivery capacity.

If your team has 8 weeks of capacity, Must items should be 4.8 weeks of estimated work. The remaining 40% absorbs reality. Founders who plan 100% of capacity for Musts always ship late.

This number is empirical. Adjust based on your team’s track record on estimates: if you historically slip by 50%, your Must allocation should be closer to 50%. If you’re unusually accurate, 70% might work. Most teams should start at 60% and recalibrate.

The ‘cannot ship without’ test

Apply this to every candidate Must:

“If we shipped this version WITHOUT this feature, would the version still achieve its goal?”

If yes: not Must. Demote to Should.

If no: Must. It stays.

The test is brutal because most founders, asked off the cuff, would call 50-70% of their initial feature list Musts. Applied honestly, the test usually cuts the Must list by half.

Concrete example. You’re building an MVP to test whether SMB buyers will pay $29/month for an AI-powered email assistant. Initial Must list:

  • Email integration (Gmail, Outlook)
  • AI summarization
  • AI reply suggestions
  • Custom templates
  • Team collaboration
  • Analytics dashboard
  • Onboarding flow
  • Payment integration (Stripe)
  • Mobile app
  • API for custom integrations

Apply the test:

  • Email integration: without it, the product literally can’t function. Must.
  • AI summarization: this is the core value prop. Must.
  • AI reply suggestions: useful, but does the hypothesis test require it? If “summarization alone is worth $29/mo” is the hypothesis, this is Should. If “summarization + replies is the bundle” is the hypothesis, Must. Decide.
  • Custom templates: nice. Doesn’t test the hypothesis. Should at best, Could realistically.
  • Team collaboration: if you’re testing SMB single-user, Won’t. If you’re testing team plans, Must.
  • Analytics dashboard: for the BUYER? Should. For the product team (internal)? Must (you can’t measure the hypothesis without it).
  • Onboarding flow: do users need it to discover the value? If yes, Must. If the product is self-explanatory, Should.
  • Payment integration: required to test willingness to pay. Must.
  • Mobile app: SMB email users on desktop don’t need it. Won’t for V1.
  • API: V2 territory. Won’t for V1.

End state: 3-5 Musts (email, summarization, payment, maybe replies, maybe onboarding). Everything else moves down or out. Now the V1 spec is scoped.

Won’t is a commitment, not a deferral

The mistake most teams make is treating Won’t as “we’ll get to it later.” That’s not Won’t. That’s Should-with-an-asterisk.

Won’t means: for this version, we are publicly committing not to do this. When a stakeholder asks for it mid-build, the answer is “not in V1; revisit for V2.” The Won’t list goes on a wiki page or wall where everyone can see it.

The discipline matters because scope creep happens through Should-Have items disguised as Musts. The Won’t list closes that backdoor. If a feature is in Won’t, it can’t be re-promoted without an explicit re-scoping conversation.

Re-applying MoSCoW iteratively

MoSCoW isn’t a one-shot exercise. Re-apply it at every version boundary:

  • V1 ships. Real user feedback comes in.
  • For V1.1: re-sort the Should items from V1 plus new ideas. Apply the “cannot ship without” test against V1.1’s goal (which might be different from V1’s).
  • Some Shoulds promote to V1.1’s Must. Some get demoted. Some get reclassified as Won’t because V1 proved they weren’t valuable.

The framework’s value compounds with iteration. Each application sharpens your sense of what truly matters versus what just sounds useful.

Common mistakes

1. Calling everything Must. The default failure mode. If your Must list has 12+ items, you haven’t applied the test honestly.

2. Empty Won’t bucket. If you can’t name 5+ things you’re explicitly not building, you haven’t sorted hard enough.

3. Sorting without a goal. “Must for what?” If V1’s goal isn’t defined, the sort is arbitrary.

4. Letting everyone vote on bucket placement. Founders or product leads decide. Team input on effort estimates is critical. Bucket assignment is a leadership decision.

5. Treating MoSCoW as a brainstorming tool. It’s a sorter. Brainstorm features first (a full list, unfiltered). Then sort. Don’t mix the two phases.

ShipFit and MoSCoW

ShipFit Stage 5, What's V1? Features sorted into Differentiator (keep), Delight (cut first), and Operational buckets with ICE-style scores and effort tags.

Stage 5 of the ShipFit playbook (What’s V1?) applies MoSCoW:

  1. You define the V1 goal (the hypothesis V1 tests).
  2. You list every candidate feature.
  3. ShipFit applies the ‘cannot ship without’ test to each. Features that fail get demoted automatically.
  4. ShipFit estimates effort against your team size and warns if Must items exceed 60% of capacity.
  5. The output is a scoped V1 spec plus a V2 file with the deferred items.

The V2 file isn’t a wishlist. It’s the input for the next MoSCoW pass when V1 ships.

Further reading

  • Dai Clegg, original DSDM whitepaper (1994). Hard to find online; mostly cited via DSDM documentation.
  • Agile Project Management with DSDM Atern (2014). Practical handbook from the DSDM Consortium.
  • Lean Startup validation (Ries, 2011). Provides the “hypothesis V1 tests” framing that MoSCoW needs to be useful.
  • ICE scoring. Quantitative version for ranking within the Must list once MoSCoW has done the discrete bucketing.

Common mistakes

  • Calling everything a Must because cutting hurts. Forces the Should and Could buckets to be empty, which means the framework isn't doing its job. If your Must list has more than 60% of capacity, you haven't really applied MoSCoW yet.
  • Treating Won't as 'maybe later.' Won't is a commitment, not a deferral. If you're not willing to publicly say 'this is not in V1,' you haven't sorted honestly. Won't items go in a V2+ file, not a maybe pile.
  • Sorting features without a defined goal for the version. Must/Should/Could only make sense relative to what V1 is trying to prove. If you haven't defined the goal ('test whether SMB buyers will pay $29/mo for X'), the sort is arbitrary.
  • Letting the team self-sort. Founders or product leads sort the buckets, ideally with engineering input on effort. If every team member can promote features to Must, the bucket loses meaning.
  • Sorting once and never revisiting. MoSCoW is meant to be re-applied at every version boundary (V1.1, V2, V2.5). The Should items from V1 become candidates for V1.1's Must list.

How ShipFit operationalizes this

ShipFit applies MoSCoW in Stage 5 (What's V1?). The stage defines the V1 hypothesis, then runs every candidate feature through the 'cannot ship without' test, producing three MVP packages — Lean, Balanced, Full — with the Must list explicit in each. The Should and Could items get parked in a V2 file with effort tags (S/M/L), so deferred features don't get re-litigated when scope creep hits later.

Part of a larger playbook

ShipFit runs 55 frameworks across 9 decision stages

MoSCoW is one tool in a bigger toolkit. The full library covers market sizing, buyer discovery, MVP scoping, pricing, and launch.

shipfit.ai/frameworks
Frameworks Library
55 frameworks, mapped to 9 stages

The Mom Test

Q3

Rob Fitzpatrick

Validation question methodology — real interviews, not theater

Jobs-to-be-Done

Q2-Q4

Clayton Christensen

Functional, social, and emotional jobs your product fulfills

7 Powers

Q4

Hamilton Helmer

Strategic moats: Scale, Network, Counter-positioning, Switching, Brand, Cornered Resource, Process

Van Westendorp PSM

Q6

Feature-weighted price sensitivity analysis without guessing

Blue Ocean Strategy

Q4

Kim & Mauborgne

ERRC framework: Eliminate, Reduce, Raise, Create

Fake Door Testing

Q7

Pre-build behavioral validation with landing pages and apology modals

+ 49 more: TAM/SAM/SOM Analysis, Porter's Five Forces, Market Timing Analysis, Unit Economics (LTV/CAC)...

Frequently asked questions

What does MoSCoW stand for?
Must have, Should have, Could have, Won't have. The 'o's are just to make the acronym pronounceable. The framework was developed by Dai Clegg at Oracle UK in 1994 for the Dynamic Systems Development Method (DSDM), an early agile methodology. It's outlived DSDM as a general prioritization tool.
How is MoSCoW different from priority numbers (P0, P1, P2)?
Priority numbers (P0, P1, P2) are a vague rank. MoSCoW is a discrete binary on the most important axis: must we ship this, or not? The discreteness is the discipline. P0/P1/P2 lets you sort 50 features into 'high priority,' which doesn't help. Must/Should/Could/Won't forces you to commit on whether each one is required.
Should the Won't list be public?
To your team, yes. To customers, depends. Internal: announcing Won't publicly to engineering prevents scope creep and gives the team a defense against stakeholder requests. External: announce Won't to customers only when the request volume justifies it (e.g., 'feature X is not on our V1 roadmap; here's the alternative we recommend').
What's the difference between MoSCoW and ICE scoring?
MoSCoW is qualitative and discrete (4 buckets). [ICE scoring](/frameworks/ice-scoring) is quantitative and continuous (numerical Impact × Confidence × Ease). They serve different stages: MoSCoW for the first cut (what's even in scope?), ICE for ranking within scope (build Must items in what order?). Use MoSCoW first, then ICE on the Must list to sequence development.
Can MoSCoW be used outside software development?
Yes. The framework originated for software project scoping but applies anywhere you need to prioritize work under capacity constraints. Marketing campaigns, conference talks, hiring decisions, content calendars. The 'cannot ship without' test transposes naturally. The framework is general-purpose; the software-engineering origin is incidental.
How long should the Must list be?
Less than you think. For a 4-8 week MVP build with a solo or small founding team, 3-5 Must features is typical. If your Must list has 12+ items, you haven't applied the 'cannot ship without' test rigorously enough. Re-sort. Most founders need to be told this explicitly because their first pass always over-Musts.
What happens to Should and Could items after V1 ships?
They become candidates for V1.1 or V2's Must list, where you re-apply MoSCoW with new context (real user feedback, new constraints, market signal). Some Should items will be promoted to V2's Must. Some will be demoted to Could. Some will get reclassified as Won't entirely because V1 revealed they weren't valuable. The framework is iterative.
Related on ShipFit

Keep exploring

Master guide
Validate your business idea

The 9-step playbook from market verdict to ship-ready spec.

Framework
The Mom Test

The Mom Test is Rob Fitzpatrick's framework for customer interviews that generate real signal. Not praise. Three rules, applied step-by-step, with examples.

Framework
Van Westendorp Price Sensitivity Meter

The Van Westendorp framework uses 4 questions to surface a defensible price range for any product. Here's how to run it, interpret results, and avoid the cheapest mistakes.

Spoke
Market Research

Most founder market research is a TAM slide that nobody believes. The numbers that actually matter are smaller, harder to defend, and tell you whether the market exists for the ten-customer version of your business.

Spoke
Idea Validation

Most founders confuse idea validation with idea-receiving-encouragement. The two have nothing in common. Here's what real validation looks like, and the four methods that actually produce it.

Calculator
CAC / LTV ratio calculator

Does each customer make you money? Or cost you money?

Q&A
How do you validate a business idea?

Run nine framework-backed decisions in order before writing code: define the buyer, prove the pain is painful, name the winning angle, scope V1 to the smallest test of the hypothesis, get behavioral evidence (paid pre-orders, signed letters of intent, or credit cards on file from a Fake Door Test), then ship. Most failed startups skipped at least three of those nine. Plan to spend two to four weeks on this. It saves six to nine months of building the wrong thing.

For founders
indie hackers

For indie hackers who've wasted months on dead ideas. ShipFit forces 9 decisions before you write a line of code. Proven frameworks, exports to Cursor.

Comparison
Buildpad

If you want a conversation partner, Buildpad. If you want to stop researching and ship, ShipFit. Both solve different problems for different founders. Don't pick on hype.

Ready to make your next product a success?

9 decisions between your idea and a product worth building.

No credit card required.

Try an example: