MoSCoW Method

Contents

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 - also known as MoSCoW prioritisation or MoSCoW analysis.

According to A Guide to the Business Analysis Body of Knowledge, version 2.0[1], section 6.1.5.2, the MoSCoW categories are as follows:

The o's in MoSCoW are added simply to make the word pronounceable, and are often left lower case to indicate that they don't stand for anything. MOSCOW is an acceptable variant, with the 'o's in upper case.

Background

This use of MoSCoW was first developed by Dai Clegg of Oracle UK Consulting; in CASE Method Fast-Track: A RAD Approach [2][3]; although he subsequently donated the Intellectual Property Rights to the Dynamic Systems Development Method (DSDM) Consortium.

MoSCoW is often used with timeboxing, where a deadline is fixed so that the focus can be on the most important requirements, and as such is seen as a core aspect of rapid application development (RAD) software development processes, such as Dynamic Systems Development Method (DSDM) and agile software development techniques.

Prioritisation of MoSCoW Requirements

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 a backronym 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.

Sources

References

  1. ^ A Guide to the Business Analysis Body of Knowledge. International Institute of Business Analysis. 2009. ISBN 978-0-9811292-1-1. 
  2. ^ Clegg, Dai; Barker, Richard (2004-11-09). Case Method Fast-Track: A RAD Approach. Addison-Wesley. ISBN 978-0201624328. 
  3. ^ Tierstein, L.M. (1997). "Managing a Designer/2000 Project" (PDF). Fall '97. New York Oracle User Group. http://www.wrsystems.com/whitepapers/managedes2k.pdf. Retrieved 2008-05-31. 

See also