Skip to content
framework
Product & metrics

MoSCoW

Must, Should, Could, Won't: a simple way to agree on scope.

⏱ 8 minBeginnerBy Dai CleggSince 1994
M
S
C
W
Use it when

Scoping an MVP or a release with a fixed deadline.

You'll walk away with

Requirements sorted into four buckets with a balanced effort.

Step 1 · The idea

Agree on what's in, what's out, and what can slip

MoSCoW was created by Dai Clegg at Oracle in 1994 and became part of the DSDM agile method. Every requirement goes into one of four buckets: Must have, Should have, Could have, Won't have this time. (The lowercase “o”s just make it pronounceable.)

It's simple enough to use in a single meeting with stakeholders, and it makes trade-offs visible before a deadline forces them.

For designers, MoSCoW is useful when scoping an MVP: design the Musts fully, the Shoulds well, and keep Coulds as simple as possible.
The model

Four categories

M

Must have

Without it, the release fails, is unsafe or illegal.
Example: Pay for the whole order.
S

Should have

Important, but there's a workaround for now.
Example: Split the bill inside the app.
C

Could have

Nice to have. First to drop if time runs out.
Example: Chat inside the group cart.
W

Won't have (this time)

Agreed out of scope for this release.
Example: Scheduled group orders (next release).
Step 2 · Try it

Prioritisation board

An MVP for group ordering in a food delivery app. Move each item between buckets and watch the effort balance. Effort is in days.

M 17d · S 7d · C 7d · W 11d (out)Musts: 55% of in-scope effort ✓
Must have17d
Add items to a shared group cart
8d
Invite friends with a link
5d
Pay for the whole order
4d
Should have7d
Split the bill inside the app
4d
Edit the cart before checkout
3d
Could have7d
Chat inside the group cart
4d
Vote on the restaurant
3d
Won't have (this time)11d
Schedule group orders for later
5d
Multi-language interface
6d
Step 3 · Worked example

Scoping a group-order MVP

A fictional team at food delivery app “Thali” has six weeks.

First list
Musts: 9 items · 42 days
Team capacity: 30 days
Step 1

Everything is a Must

The first draft marks everything as Must. That's a wish list, not a plan.
Over-scoped
If there's no chat in the group cart, would we delay launch?
No → Could
If there's no payment?
Yes → Must
Step 2

Ask the Must question

For each item: “would we cancel or delay the release without it?” Only a yes makes it a Must.
Must test
Must17d · 55%
Should7d
Could7d
Step 3

Balance the effort

Musts now fit within about 60% of capacity. Coulds are the safety buffer if something takes longer.
≤ 60% Musts
Won't have (this time)
Scheduled group orders
Multi-language
Revisit after launch
Step 4

Say what's out

Writing down the Won'ts prevents surprises and endless “can we just add…” requests.
Won't

Fictional example.

Watch out

Common mistakes

✓ Do

  • Use a strict test for Must
  • Keep Musts at or below about 60% of effort
  • Agree priorities with stakeholders in the room
  • Write down Won'ts and when you'll revisit them
  • Re-prioritise when things change

✗ Avoid

  • Marking everything as Must
  • No effort estimates, so no real trade-offs
  • Treating Won't as “never”
  • Using it alone for long-term roadmaps
  • Letting one person decide for everyone
Cheat sheet

MoSCoW in one screen

M  MUST HAVE     release fails / unsafe / illegal without it
S  SHOULD HAVE   important; a workaround exists for now
C  COULD HAVE    nice to have; first to drop
W  WON'T HAVE    out of scope THIS time — revisit later

MUST TEST  "If it's not delivered, would we cancel or delay the release?"
BALANCE    Musts ≤ ~60% of effort · Coulds ≈ 20% as buffer (DSDM guidance)
Use it at work

Figma template

A ready-made canvas for running this framework with your team. Free, editable, and it works in Figma and FigJam.

Preview of the MoSCoW scope board template
Figma & FigJam · free

MoSCoW scope board

  • Must / Should / Could / Won't columns
  • Effort totals
  • The Must test
  1. 1Download the SVG, or copy it to your clipboard.
  2. 2In Figma or FigJam, drag the file onto the canvas — or paste with ⌘V / Ctrl V.
  3. 3Everything arrives as editable layers: type in the boxes, add stickies, duplicate rows.
Check yourself

Quick quiz

Get all three right to complete the lesson.

Question 1

1. What does the “W” in MoSCoW mean?

Question 2

2. DSDM recommends Must-haves take no more than about…

Question 3

3. A good test for whether something is a Must is…

Saved

Notes are private and stored in this browser.

Keep going

Related frameworks

Next lesson

Octalysis

8 core drives that explain why people do anything, and how products use them.

Start lesson →