What is the MoSCoW principle?

MoSCoW is method for classifying priorities. At Risk and Requirement Based Testing (RRBT) a MoSCoW priority is given to each of the requirements and risks. The acronym is based on four words measuring the priority: Must-Should-Could-Won't. The o's were added to make the word easier to pronounce.

Application of the MoSCoW principle to requirements

Must: This requirement must be implemented
Should: This requirement should be implemented, but an alternative solution is acceptable
Could: This requirement is nice to have
Won't: This requirement mustn't be implemented at this time

Application of the MoSCoW principle to risks

Must: This functionality is utmost important, it must be tested and function correctly
Should: This functionality should be tested
Could: This functionality can be tested if there's enough time
Won't: This requirement will not be tested. This requirement might be tested indirectly by other test cases or it is just not needed.

If we were living in an ideal world, we would test all Must/Should/Could requirements and risks, but we're not. Bearing this in mind we decide on which priorities to test depending to the amount of time available for testing, starting with the requirements/risks having a Must priority. If there's time enough we can add Should and some Could items. Basically not delivering any of the Must requirements means the software is not successful. Following images shows the ideal situation next to a more common situation.

MoSCoW principle base MoSCoW principle time constraints

Related Posts by Categories


Recent Articles

Top Commenters

Recent Comments