How to Use the MoSCoW Method to Prioritize the Product Backlog?

The MoSCoW method (also known as MoSCoW prioritization or MoSCoW analysis) is a prioritization technique designed to reach consensus with stakeholders on the importance of each requirement for delivery. The term “MoSCoW” itself is an acronym formed from the first letters of each of the four priority categories, as shown in the figure below:

MoSCoW Method - Agile
MoSCoW Method – Agile
Must (M) – Critical requirements that must be prioritized and delivered in the product. If one of these is not met, the release is considered incomplete.
Should (S) – Important requirements, but not essential for the release. These are not time-sensitive.
Could (Co) – Ideal but non-essential features for the release. These are typically low-cost improvements to the product.
Won’t (W) – These are considered the least important or possibly not aligned with the product strategy. They can be ignored and revisited in future versions.
Note
The letter “o” was added to make the word “MoSCoW” pronounceable. Although the “o” is typically lowercase and doesn’t represent anything, the all-uppercase “MOSCOW” is also used.
MoSCoW is often used in conjunction with timeboxing, where the deadline is fixed, so the focus must be on the most critical requirements. As such, it is a commonly used technique in Agile software development methodologies such as Scrum and DSDM.

MoSCoW Example

Using the human body as an example:

  • Must – A heart is a “must.” Without it, there is no living organism. What must your application have?
  • Should – A hand is a “should.” It’s difficult to live without one. But you can survive without hands—well, in most cases.
  • Could – Hair is a “could.” It’s nice to have, and you may look better with it, but you’ll survive just fine without.
  • Won’t – Non-essential. By the way, what in the body is a “won’t”? (Perhaps your appendix?)

Using the MoSCoW Method to Prioritize Product Backlog Items

The Product Owner is responsible for preparing the Product Backlog and prioritizing items within it. Prioritization is one of the most critical aspects of any development work, as choosing the right approach allows you to maximize the value delivered during a Sprint. The ordering of Product Backlog items should first address requirements with the highest business value, enabling the team to move toward a shared goal in a unified direction.

MoSCoW Example in a Sprint
MoSCoW Example in a Sprint

Prioritization Criteria

During a Sprint Planning session, the following criteria should guide your decision-making when prioritizing Product Backlog items:

  • High customer value
  • Significant benefit to the business
  • Easy to implement
  • High risk
  • High cost if not implemented soon
  • Dependencies between items
  • Most aligned with the next Sprint Goal?