What it is
MoSCoW sorts every item in scope into one of four buckets:
- Must-have — non-negotiable for this release; without it, the release fails or is unusable.
- Should-have — important, and painful to leave out, but the release can still succeed without it.
- Could-have — desirable but low-impact; the first thing cut if time or resources run short.
- Won’t-have (this time) — explicitly out of scope for this release, which is agreed up front rather than discovered mid-project.
Unlike scoring models like RICE, MoSCoW doesn’t rank items against each other numerically — it draws a hard line around what’s actually required, which makes it fast to apply and easy for non-technical stakeholders to understand.
When to use it
MoSCoW is most useful for scoping a specific release or milestone with a fixed deadline — launches, compliance-driven features, or any project where “what’s actually required to ship” needs to be agreed on explicitly before work starts. It’s less suited to ongoing backlog prioritization across many unrelated initiatives, where a scoring model like RICE or ICE gives more nuance.
Common pitfalls
- Everything ends up “Must-have.” Without a forcing function — like agreeing the release fails without each Must-have item — stakeholders tend to label most things as critical.
- “Won’t-have” gets treated as a discussion, not a decision. The whole point of the category is to close the door on scope creep for this release; if it stays open for debate, MoSCoW isn’t doing its job.
- No revisit cadence. Priorities inside a release can shift as work progresses — MoSCoW buckets should be checked against reality partway through, not just set once at kickoff.