MoSCoW is a prioritisation technique used in business analysis and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement .
- M – MUST: Describes a requirement that must be satisfied in the final solution for the solution to be considered a success.
- S – SHOULD: Represents a high-priority item that should be included in the solution if it is possible. This is often a critical requirement but one which can be satisfied in other ways if strictly necessary.
- C – COULD: Describes a requirement which is considered desirable but not necessary. This will be included if time and resources permit.
- W – WON’T: Represents a requirement that stakeholders have agreed will not be implemented in a given release, but may be considered for the future.Prioritization of MoSCoW Requirements
Prioritization by MoSCoW rules
All requirements are important, but they are prioritised to deliver the greatest and most immediate business benefits early. Developers will initially try to deliver all the M, S and C requirements but the S and C requirements will be the first to go if the delivery timescale looks threatened.
The plain English meaning of the MoSCoW words has value in getting customers to understand what they are doing during prioritisation in a way that other ways of attaching priority, like high, medium and low, do not.
- Must have
- requirements labeled as MUST have to be included in the current delivery timebox in order for it to be a success. If even one MUST requirement is not included, the project delivery should be considered a failure (note: requirements can be downgraded from MUST, by agreement with all relevant stakeholders; for example, when new requirements are deemed more important). MUST can also be considered an acronym for the Minimum Usable SubseT.
- Should have
- SHOULD requirements are also critical to the success of the project, but are not necessary for delivery in the current delivery timebox. SHOULD requirements are as important as MUST, although SHOULD requirements are often not as time-critical or have workarounds, allowing another way of satisfying the requirement, so can be held back until a future delivery timebox.
- Could have
- requirements labeled as COULD are less critical and often seen as nice to have. A few easily satisfied COULD requirements in a delivery can increase customer satisfaction for little development cost.
- Won’t have (but Would like)
- WON’T requirements are either the least-critical, lowest-payback items, or not appropriate at that time. As a result, WON’T requirements are not planned into the schedule for the delivery timebox. WON’T requirements are either dropped or reconsidered for inclusion in later timeboxes. This, however doesn’t make them any less important.
Sometimes this is described simply as “Would like to have” in the future, this however leaves some ambiguity in the minds of the users as to its priority compared to the other marks.
To discuss how you can implement these simple rules to get the right priorities and agreed by everyone, call me, Steve Herman, on 0044(0)7825189263. If you can priorize the time, that is!