So your team is transitioning to Scrum and you’re the Product Owner. You’ve started creating those user stories, but wow, how are you going to get them all prioritized?
It’s hard to imagine a completely prioritized backlog when you’re just getting started. It can seem like an almost impossible task.
Relax, first you need to take a trip to MoSCoW!
What is MoSCoW?
OK, we’re not talking about a trip to Russia.
The MoSCoW method is a way to group your user stories into high-level priority buckets.
MoSCoW comes from:
Must: a user story that, if missing from the project, would make the project unsuccessful.
Should: a high priority user story that is important, but it’s absence won’t kill the product.
Could: a nice to have user story that you’d clearly sacrifice for a should or must.
Won’t: a feature that is explicitly excluded from the project.
The two o’s in MoSCoW are just added so we have an easy way to remember and talk about the method.
Many project management frameworks have a four quadrant prioritization scheme. I like MoSCoW because of the simplicity and clarity of Must, Should, Could, and Won’t.
Why should I care about the MoSCoW method?
First, it facilitates a high level discussion with users about the relative business value of each user story.
Second, it gives you an easy way to coarsely prioritize user stories at the start of a project.
Third, it clarifies feature priority so the team knows which features can be dropped if necessary to maintain quality and schedule.
Fourth, it helps you prioritize new user stories as they are discovered.
Fifth, you’ve gotta just love the won’t, which gives you a great reminder about the features you’ve decided not to implement.
Finally, it’s just fun to have a catchy name like MoSCoW.
When should I use MoSCoW prioritization?
Personally, I like MoSCoW best at the very start of a project. It allows you to create a high level overview with users and other stakeholders.
Later, as new user stories are discovered, you can use MoSCoW as the first step to set the priority.
You can also use MoSCoW to work through any changes desired later in the project.
How do I get started prioritizing my backlog using MoSCoW?
When creating a backlog, I like to start in analog mode, using index cards or sticky notes.
This lets you quickly write out the epics, trash them, write new ones, move them around, and discuss them in a group setting (assuming co-location).
Whenever possible, find a room and set aside plenty of time to immerse in the MoSCoW process with your users.
Wait, this can’t possibly work, users will just say everything’s a Must
True enough, the first time users go through this process they’ll want to make everything a must.
The 80/20 rule tells us that 80% of users only use 20% of the features. So, in general, the first focus is on the most used 20% and the other 80% less used features are best spread across should, could, and won’t.
Implementing all the “80% features” is a huge waste. That’s what we’re trying to avoid.
You’ll want a healthy number of should and could stories because this gives you flexibility later in the project. This flexibility allows you to defer or drop less important user stories so you can make your schedule and maintain quality.
But MoSCoW doesn’t help because every user story needs to be prioritized
Sure, you’ll eventually need all user stories in the backlog prioritized, but you only need enough user stories prioritized, detailed, and sized to keep the team productive.
Think of MoSCoW as a first step. It just gets the user stories into the high level buckets of must, should, could, and won’t.
Next, you can pull the highest priority must user stories to the top of the list. The team will start working on the first few must stories, so prioritizing the remaining stories can wait a bit.
If you prioritize the entire backlog at the start of a project, you’ll probably end up wasting time. Priorities change as you learn, so don’t get too far ahead of the team.
MoSCoW won’t fit in with my online tool, it just wants an ordered list of user stories
In your tool, you can add must, should, could or won’t to each user story’s title or description field. This way, you don’t lose track of the MoSCoW bucket each user story was put in.
User story titles might look something like this:
Must: As a user, I want to login to the system so I feel like my personal information is secure.
So get the backlog prioritization started the easy way, take that trip to MoSCoW.
It’s just four easy buckets of must, should, could, and won’t, but it will take you a good ways towards prioritizing your backlog.
MoSCoW will also give you a good high-level perspective for more productive discussion, make your initial prioritization easier, and give your team well defined flexibility on features.