MoSCoW prioritization method is a method that helps you to define which features can be implemented in a specific time frame.
In this article, I will explain the MoSCoW prioritization method and how it will help your project succeed. If you want to know more about this topic, please continue reading!
The MoSCoW Prioritization Method The letters “MoSCoW” stand for: M – Must have : This is a feature that your customer absolutely needs so they won’t think of not using your product at all. S – Should Have : These are the critical features to the success of your project. Your customer absolutely wants these features but without them, they might still use your product if the other features outweigh the absence of these features. C – Could Have : These are nice to have features that will increase the success of your product but are not crucial. Without them, your customer still might use your product if the other features outweigh the absence of these ones. W – Won’t Have : These are just ideas about features that you could implement in the future but at this moment they don’t make sense because there are more important things to do.
The MoSCoW prioritization method explained using an example imagine yourself as a project manager working for a company developing a time tracking application for their employees. You need to prioritize some new features suggested by your user base. The first idea is “time savings” where users will be able to see how much time they spent on certain tasks. Sounds great but it is not that pressing, given that the application has just been released and your customer base is still small. The next idea is “user friendly interface”. Your users say they find the UI complicated and would like to see improvements.
That’s a good one but again we need to prioritize if we want to make any sensible progress this year. You also receive an email from a user who wants to be able to send invoices in PDF format and another one who wants to be able to send invoices in CSV format and link them with times logs when their employees clock in or out of work. Now you can see that there are two very different types of people involved here: those who love PDF (print-oriented people) and those who love CSV (log-oriented people). You have to come up with a solution that will satisfy both of them.
MoSCoW prioritization method working model
There are different prioritization methods. We are going to employ the MoSCoW method, an acronym for ‘Must have’, ‘Should have’, ‘Could have’ and ‘Won’t have’. It is a very simple way to break down requirements into their respective categories.
The first phase requires us to identify all of the requirements, make them visible by writing them on sticky notes and put them up onto our whiteboard.
Then we need to classify each one of those requirements as either:
MUST HAVE – This requirement must be built! If we do not build this then we fail our client and they will probably fire us (or something like that). MUST HAVE class cannot be skipped during any prioritization session.
SHOULD HAVE – This is a requirement that we would like to have but if it turns out that the client doesn’t need it, it won’t hurt us too much. A SHOULD HAVE can be skipped during prioritization sessions.
COULD HAVE – A COULD HAVE is just that, something nice to have which will not fail our product if it’s not implemented. We can choose whether or not this will make its way into the sprint backlog depending on the business value and operational complexity of each item (we’ll talk more about this later).
WON’T HAVE – These requirements defeat the purpose of our project and should be deleted from our requirements document altogether!
Ideally we want all of our requirements to be MUST HAVE. This doesn’t mean we can’t have nice to haves, but it’s important for us to prioritize them outside of the sprint backlog.
We need our requirements broken down into granular chunks before getting started with prioritization. A good way to do this is by using the SMART technique . It stands for Specific, Measurable, Achievable, Realistic and Time-oriented. We need all of these ingredients in order to fulfill our requirements successfully without overcommitting ourselves or straying too far from achieving what was initially envisioned.
Thus MoSCoW prioritization method is used to pick the most important features for each sprint and at laest 70% of them get finished.
Other techniques like “The Silver Bullet Technique ” (also known as the Pareto Principle) is also helpful when prioritizing requirements. It says that 80% of the effects come from 20% of the causes. For example, a release may have a few features that together will deliver about 80% of the business value for that release and they need to be completed in order to fulfill the release successfully. The remaining 20% of requirements would then be seen as nice-to-haves and can be dealt with in future sprints or waterfall projects.
Unfortunately prioritization is not an exact science but more so a fuzzy art, so it’s important to experiment with different techniques until we find one that helps the team to improve the chances of delivering high business value products.