What is the MoSCoW principle?

By anoop.v | 12th November 2014 | 2 min read

MoSCoW is a method used for identifying main concerns. It is used in software development to reach an understanding with stakeholders on the significance they place on the delivery of each specific requirement.At Risk and Requirement Based Testing (RRBT), a MoSCoW concern is given to each of the specifications and risks. The abbreviation is based on four terms measuring the priority: Must-Should-Could-Won't. The o's were included to create a phrase that is simpler to articulate.

Application of the MoSCoW concept to requirements

Must: This requirement must be implemented
Should: This requirement should be applied, but a different one is acceptable
Could: This is a good requirement
Won't: This requirement should not be applied at this time

Application of the MoSCoW concept to risks

Must: This performance is highly essential, it must be tested and operated correctly
Should: This performance should be tested
Could: This functionality can be examined if there's enough time
Won't: This requirement will not be examined. This requirement might be examined ultimately by other test cases or it is just not required.

If we were residing in an perfect world, we would analyze all Must/Should/Could specifications and threats, but we're not. Keeping this in mind, we choose the main concerns that should be analyzed, based on the time available for testing, beginning with the requirements/risks having a Must concern. If there's enough time, we can add Should and some Could products. Generally, not providing any of the Must specifications indicates that the application is not effective.