MoSCoW prioritization template
MoSCoW sorts everything a release or project could include into 4 groups: Must have, Should have, Could have, and Won't have this time. This template makes each group a column, so the team agrees the scope on the board and then works from it, instead of leaving the decision in a document nobody opens again.
Free for 3 projects, forever. No credit card.
Customers can pay by credit card
Password reset
Receipts by email
Dark mode
Export to CSV
Mobile app
Sign-up flow
The 5 columns
What each one is for. Rename, reorder or add columns whenever the work needs it.
- Must Have
- The release fails without it: it's broken, unsafe, illegal or pointless. Keep this to a minority of the cards, or the label stops meaning anything.
- Should Have
- Important and expected, but the release still works without it. The first thing to go if time runs short is a Should, not a Must.
- Could Have
- Nice to have. Done if there's room, dropped without argument if there isn't.
- Won't Havecounts as done
- Agreed out of scope this time. Writing it down is as useful as agreeing what's in. Counts as done, so it leaves the open counts.
- Donecounts as done
- Built and finished. Counts as done.
How to run a MoSCoW session
-
Step 1
Agree the deadline first
MoSCoW only works against a fixed date or budget. Add it as a milestone, so everyone sorts against the same end point.
-
Step 2
List every candidate as a card
Requirements, features, fixes, requests. Put them all in Could Have to start. Everything has to argue its way up.
-
Step 3
Pull up the Musts
For each card, ask: does the release fail without it? Only those move to Must Have. Then pick the Shoulds from what's left.
-
Step 4
Name the Won'ts
Move what's clearly out to Won't Have. Write why in a comment, so the reasoning is still there when someone asks in 2 months.
-
Step 5
Work the board, Musts first
Assign cards and work from Must Have down. When a card is finished, drag it to Done. If the deadline is at risk, drop Coulds, then Shoulds.
With your AI agents
An agent can turn a spec or a list of requests into cards, and once you've sorted them, tell you whether the Musts still fit before the milestone.
Agents connect over MCP or the REST API, on every plan, and act as you.
agentcreate_project("Checkout v2", template: "moscow")
agentadd_milestone("Checkout v2", "Release", "2027-02-01")
agentbulk_create_cards("Checkout v2", 24 requirements from spec.md)
agentmove_card("Mobile app", "Won't Have")
Keep it working
- A common rule of thumb is that Musts should take no more than 60% of the effort, so there's room for something to go wrong.
- Sort with the people who'll do the work in the room, or the Musts won't fit the time.
- Give each card a size. The board doesn't add them up, but sizes make it obvious when Must Have is too heavy.
- Won't Have means not this time. Move the cards back to Could Have when you plan the next release.
Questions
About this template
What does MoSCoW stand for?
Must have, Should have, Could have and Won't have this time. The lowercase o's are only there to make it a word you can say.
Who created the MoSCoW method?
Dai Clegg, while working at Oracle in 1994. It became part of the Dynamic Systems Development Method (DSDM), an agile framework.
Is the MoSCoW template free?
Yes. It's on the Free plan, with 3 projects and unlimited cards, forever. No credit card. Inviting your team to the board needs Pro.
Can I keep the MoSCoW columns and track progress too?
Yes. Cards stay in their priority column while they're worked on, and move to Done when they're finished. If you want more steps, add an In Progress column, or use tags for the status.
Other templates
Start from this template
Free for 3 projects, with no credit card to enter. Every board exports as JSON or CSV whenever you want to leave.