Create your own
Lesson illustration

MoSCoW Requirements Prioritization and Rationale

Welcome back. In the previous lesson, you linked the expense-claim portal requirements to explicit business objectives, success indicators, and verification evidence. That work answers why a requirement exists. This lesson answers a different delivery question: which justified requirements must be delivered in the current release, and which can wait?

MoSCoW helps turn a long list of valid requests into a credible release commitment. By the end of this lesson, you will be able to classify requirements as Must Have, Should Have, Could Have, or Won’t Have this time—and defend each decision using outcome evidence, workarounds, dependencies, risks, and the agreed release timeframe.


MoSCoW is a release decision, not a measure of personal preference

MoSCoW stands for:

  • Must Have
  • Should Have
  • Could Have
  • Won’t Have this time

The final phrase matters. A Won’t Have is normally not a rejected idea forever; it is an explicit agreement that the item will not be delivered within the current project increment, release, or timebox.

Watch this brief overview before applying the method. It emphasizes that teams need shared goals, agreed ranking criteria, and a way to resolve conflicts before prioritization can work.

What is MoSCoW Prioritization Method? Definition, Overview, and Best Practices

“What is MoSCoW Prioritization Method?” from ProductPlan gives a compact explanation of the four categories and the stakeholder alignment needed to use them.

Watch the overview for the four-category model. Then watch the setup, focusing on agreement about goals, criteria, capacity, and conflict resolution before ranking begins. Continue through the categories for the practical distinctions among Must, Should, Could, and Won't Have. Finish with the conclusion on using the method to build shared understanding across business units.

A common failure is to interpret MoSCoW as:

Must = requested by the most senior stakeholder
Should = requested by someone else
Could = interesting idea
Won’t = we do not like it

That is not prioritization. It is hierarchy disguised as analysis.

Instead, MoSCoW asks what is necessary for a specific delivery commitment. A requirement can be extremely valuable in the long term while still being a Should, Could, or Won’t Have for Release 1.

For the expense-claim portal, the release objective remains:

Reduce avoidable employee claim-status enquiries to Finance by within three months of Release 1, while protecting employee claim information from unauthorised access.

That objective, the agreed scope boundary, and the fixed release timeframe form the basis for every decision that follows.


The four categories: test the consequence of omission

The Agile Business Consortium’s guidance is particularly useful because it defines priority in terms of the consequence of not delivering an item, rather than its popularity.

What is MoSCoW Prioritization? - Agile Business Consortium

Read “What is MoSCoW Prioritization?” from the Agile Business Consortium. It provides the strict definitions behind the four categories, practical tests for identifying genuine Must Haves, and guidance for retaining delivery contingency.

In the section “The MoSCoW Rules,” read the introduction beginning why simple rankings fail, then read the “Must Have,” “Should Have,” “Could Have,” and “Won't Have this time” subsections in full. Pay close attention to the Must Have test beginning the viable solution test. Then, in “Ensuring Effective Prioritisation,” read “Balancing the Priorities,” especially the discussion beginning how contingency works. Finally, read “Making MoSCoW Work” and “Tips for Assigning Priorities.” Focus on the warning that everything cannot be Must.

Must Have: without it, this release is not viable

A Must Have is part of the minimum usable subset: the smallest set of capabilities that makes deployment worthwhile and safe.

A requirement is a credible Must Have when omitting it means one of the following:

  • the release cannot achieve its essential outcome;
  • the solution would be illegal, unsafe, or non-compliant;
  • a critical security or privacy obligation would be breached; or
  • there is no viable way to operate the solution without it.

The strongest diagnostic is deliberately severe:

If this item cannot be delivered the night before release, would the accountable business owner stop deployment?

If the honest answer is yes, it is likely a Must Have. If deployment can proceed using a manual, temporary, or inconvenient workaround, it is not a Must—even when it remains important.

Should Have: important, painful to omit, but survivable

A Should Have delivers substantial value or avoids meaningful operational pain. However, the release can still go live without it.

The workaround might involve:

  • Finance continuing to answer a particular class of enquiry;
  • users receiving a clear message to follow an existing process;
  • a temporary manual report;
  • reduced convenience or additional processing time; or
  • a known limitation that stakeholders accept for the release.

Should Haves are often the first items to promote if capacity becomes available after the Must Have subset is secure.

Could Have: desirable enhancement and delivery flexibility

A Could Have is useful but has a smaller consequence if omitted than a Should Have. It is normally a convenience, refinement, or limited-value extension rather than a condition of release success.

Could Haves are not “bad requirements.” They are a deliberate pool of flexibility. If an integration issue, unexpected defect, or technical dependency consumes effort, the team can remove a Could Have without undermining the release’s core outcome.

Won’t Have this time: explicit non-delivery protects scope

A Won’t Have this time is recorded as outside the current release. This is a scope-control decision, not a vague “maybe later.”

For every Won’t Have, record:

  1. the requirement or request;
  2. the timeframe it does not belong to;
  3. the reason for deferral; and
  4. any condition that would trigger reconsideration.

For example, a request for automatic status-change emails might be valuable. It may even support the objective of reducing enquiries. But if the browser-based self-service portal is the approved Release 1 scope, email notifications can be explicitly classified as Won’t Have this time. This avoids a stakeholder later assuming that “out of scope” simply meant “not written down yet.”


Make the timeframe visible

MoSCoW priorities are meaningful only when tied to a named timeframe.

A capability can be:

  • a Won’t Have for the current sprint;
  • a Could Have for Release 1;
  • a Should Have for Release 2; and
  • a Must Have before the wider programme is complete.

For example, long-term archival of historical expense data might be mandatory for the overall service. Yet the portal could be used safely for its first three months without building a dedicated archive feature, assuming the source system already retains the needed records. In that context, archival may be a Should or Could for Release 1, not automatically a Must.

Write the timeframe directly into your prioritization artifact:

FieldExample
Prioritization scopeExpense-claim visibility portal
Decision timeframeRelease 1, targeted for 12 weeks
Fixed constraintsExisting corporate identity provider; source-system API; limited delivery capacity
Primary objectiveReduce status enquiries per 100 submitted claims from 30 to 21 or fewer
Guardrail objectiveNo confirmed cross-employee access to claim data
Decision ownerProduct Owner, with Finance Operations and Information Security input

Without this framing, every stakeholder can reasonably interpret “priority” differently: highest long-term value, most urgent request, biggest customer group, easiest story, or most technically interesting work.


Prioritize at the right level of detail

A broad request often contains capabilities with different priorities. Consider the request:

“Employees should be able to manage their expense claims online.”

This is too large to prioritize honestly. It combines several distinct needs:

  • viewing a claim’s current status;
  • seeing a rejection reason;
  • confirming payment;
  • filtering historical claims;
  • downloading claim data;
  • receiving email notifications;
  • editing or withdrawing a claim.

A release might be viable with the first capability, safer with access control and audit evidence, substantially more useful with rejection reasons, and more convenient with filtering. These should not all inherit the same priority merely because they appeared in one stakeholder request.

This is similar to grooming a large automotive feature requirement before converting it into implementable system requirements: the analyst separates the essential behavior, safety or compliance conditions, integration dependencies, and optional user conveniences. The purpose is not to reduce value; it is to preserve a defensible release decision.


Worked example: expense-claim portal Release 1

Assume the discovery and traceability work produced the following backlog. Estimates are rough delivery estimates in person-days and are used only to examine the balance of the release.

IDRequirement summaryLinked objectiveEstimate
FR-01An authenticated active employee shall view the current status of their own submitted claims.BO-01, BO-039
FR-02The portal shall use the existing corporate identity provider for employee authentication.BO-024
FR-03The portal shall prevent an employee from viewing another employee’s claim information.BO-024
NFR-01The portal shall display claim-status data no older than four hours during normal operation.BO-01, BO-036
NFR-02The portal shall record access to claim details with user identity, timestamp, and claim identifier.BO-024
FR-04The portal shall show the rejection reason when one is supplied by the expense-management system.BO-015
FR-05The portal shall show payroll payment confirmation when available.BO-015
FR-06The portal shall provide plain-language descriptions for displayed claim statuses.BO-01, BO-032
FR-07Employees shall filter their claim list by submission date and status.BO-032
FR-08Employees shall download their displayed claim history as a CSV file.None identified for Release 13
FR-09The portal shall email employees whenever claim status changes.BO-016
FR-10Managers shall view the claims of their direct reports.New objective required7

The priorities should not be decided by estimate alone. A small item can still be a Must if it protects security or legal compliance; a large item can remain a Could if its omission does not invalidate the release.

The prioritized requirements list

IDMoSCoWRationale and omission consequenceWorkaround or decision note
FR-01MustStatus visibility is the release’s core capability. Without it, employees still have no self-service alternative and the primary objective cannot plausibly be achieved.No viable workaround that delivers the stated release outcome.
FR-02MustThe service must authenticate users using the approved corporate access mechanism. Unauthenticated access to employee claim data is not acceptable.The essential requirement is secure authentication; using the existing identity provider is an agreed technical constraint.
FR-03MustCross-employee access would breach the privacy guardrail and make the release unsafe to deploy.No acceptable workaround. Must be validated with negative authorization tests.
NFR-01MustA status view that is materially stale can mislead employees and fail to reduce enquiries. “Current” was an explicit part of the agreed objective.If the source system cannot meet the four-hour refresh condition, the release requires reassessment.
NFR-02MustAccess logging is necessary to investigate suspected privacy incidents and satisfy the agreed control expectation.No credible operational workaround for a business-critical data-access workflow.
FR-04ShouldRejection reasons address a frequent enquiry type and add strong value, but Finance can temporarily handle these cases through its existing support channel.Use a clear portal message directing users to Finance where a rejection reason is unavailable.
FR-05ShouldPayment confirmation can reduce a further category of enquiries, but the portal remains useful without it because employees can see the earlier decision stages.Existing payroll enquiry process remains available until a later release.
FR-06ShouldClear descriptions make statuses easier to interpret and support adoption, but the core statuses can launch with a concise Finance guidance page if needed.Temporary guidance content can explain status meanings.
FR-07CouldFiltering improves usability for employees with many claims, but has limited effect on the immediate objective of viewing a current claim status.Users can scan the initial claim list in Release 1.
FR-08CouldCSV export is convenient but has no evidenced connection to the Release 1 objectives. It also introduces data-handling considerations.Users can rely on the displayed portal information or existing Finance reports.
FR-09Won’t Have this timeNotifications may reduce enquiries, but they create an additional communication channel, template approval work, delivery-failure handling, and user-preference questions.Keep it in the future backlog, linked to BO-01. Reconsider after measuring portal adoption and enquiry reduction.
FR-10Won’t Have this timeManager visibility introduces a different user group, authorization model, privacy questions, and likely a new business objective. It is not necessary for employees to view their own claims.Capture as a separate discovery item rather than silently expanding Release 1.

Notice three important features of this decision:

  1. All Must Haves are tied to either the primary outcome or the privacy guardrail. They are not merely the most requested features.
  2. The Should Haves are valuable, but the portal can still operate without them. Their workarounds may be inefficient, but they exist.
  3. FR-09 is traceable and potentially valuable, yet still Won’t Have this time. Traceability justifies considering a request; it does not automatically justify current delivery.

Check the balance: protect the release from false certainty

The MoSCoW balancing graphic distinguishes in-scope Must, Should, and Could items from explicit Won’t Haves outside the timeframe.

The graphic shows Must, Should, and Could requirements as in scope for the current project, increment, or timebox, while “Won’t Have this time” items are explicitly out of scope. It also illustrates the Agile Business Consortium guideline that Must Haves typically consume no more than \(60\%\) of delivery effort and Could Haves provide a contingency pool.

For the in-scope items in the worked example:

PriorityEffortShare of in-scope effort
Must27 person-days
Should12 person-days
Could5 person-days
Total in-scope effort46 person-days

The Must effort is calculated as:

The Agile Business Consortium suggests keeping Must Have effort at roughly or less where possible, with a meaningful Could Have pool as contingency. These are not universal laws or fixed quotas. They are risk-management guidance.

The underlying logic is straightforward:

  • If every item is Must, any estimate error or unforeseen dependency threatens the entire release.
  • If Must Haves form a viable minimum subset, the team can protect the release outcome when delivery risk materializes.
  • Should and Could items create visible choices rather than hidden scope reduction.

In the example, the Could pool is relatively small. That should prompt a discussion: can further refinement split a Should into essential and optional parts, or is the delivery date flexible enough to accept the lower contingency? The answer depends on estimate confidence, integration uncertainty, team capacity, and the cost of a delayed release.


A defensible rationale uses evidence, not labels

A priority label alone is not useful in a stakeholder meeting. The analyst should be able to explain the decision in a compact, repeatable structure.

For each item, record:

Decision-record fieldWhat it establishes
Requirement ID and summaryExactly what is being prioritized
TimeframeThe release, increment, or timebox concerned
MoSCoW categoryThe delivery commitment being made
Objective, risk, or obligationWhy the item matters
Consequence of omissionWhy it belongs in this category
WorkaroundWhether release remains viable without it
DependenciesWhether the classification is internally feasible
Estimate or complexityDelivery exposure, not value by itself
Decision owner and dateWho accepted the trade-off
Review triggerWhat could cause reprioritization

A concise defense for FR-04 might sound like this:

FR-04 is a Should Have for Release 1. Ticket analysis indicates that rejection explanations are a common reason for contacting Finance, so the capability supports the enquiry-reduction objective. However, the portal remains viable without it because employees can view the rejection status and use the established Finance support route for the reason. We will include it if Must Haves are stable; otherwise, it is deferred without blocking release.

Compare that with a weak defense:

“It is a Should because Finance said it is important.”

The first statement identifies evidence, objective, impact, workaround, and delivery consequence. The second records only an opinion.


Separate a requirement from its implementation preference

Stakeholders may insist that a particular solution is a Must when the underlying need is the real priority.

For example:

“The portal must use single sign-on.”

There are two distinct statements hidden here:

  1. Business or security need: only authorised employees may access their own claim data.
  2. Implementation constraint: authentication must use the existing corporate identity provider.

The first is clearly a Must in this case because access control is essential. The second may be a mandated enterprise architecture or security policy, in which case it is also binding. But do not assume a named technology is automatically a business Must simply because it was proposed early.

This distinction is valuable in cross-functional grooming. It gives architects, security specialists, and delivery leads room to clarify whether a request is:

  • a business outcome;
  • a functional requirement;
  • a non-functional requirement;
  • a policy or compliance obligation;
  • an agreed technical constraint; or
  • a preferred solution.

The priority decision becomes clearer once these are not mixed together.


Handle “everything is Must” constructively

When a stakeholder says every requirement is Must Have, do not respond by mechanically downgrading items. First, uncover the concern.

Use a structured conversation:

  1. Restate the release outcome and timeframe. Ask what the release must accomplish, not what the eventual product should contain.
  2. Apply the deployment test. “If this cannot be delivered before go-live, do we stop the release?”
  3. Identify a workaround. It may be manual, slow, or unpopular; its existence means the item is not automatically a Must.
  4. Decompose the requirement. A broad request may contain a genuine Must plus several Should or Could components.
  5. Check dependencies. A Must Have should not rely on a Should or Could item that might be dropped.
  6. Make the trade-off explicit. Promoting a new Must requires reducing scope, adding capacity, moving the date, or accepting greater risk.
  7. Escalate to the empowered decision-maker when needed. The analyst facilitates the evidence and records the decision; the accountable business owner accepts the priority trade-off.

For example, suppose Finance argues that payment confirmation, rejection reasons, notifications, filtering, and CSV downloads are all Must Haves because employees ask about all of them.

A useful response is:

“We agree each request may be valuable. For the agreed Release 1 objective, which omissions would make deployment pointless or unsafe? Which enquiries can Finance handle temporarily? If notifications become Must, which currently committed item should move out, or what additional capacity is approved?”

This keeps the discussion anchored in a real delivery decision rather than a debate about whether users “deserve” a feature.


Priorities must be reviewed, not frozen blindly

Priorities are agreed before work starts, but they should be revisited when material facts change:

  • an API dependency proves unavailable or more complex than expected;
  • new legal, security, or policy obligations emerge;
  • user research contradicts an assumption;
  • a high-risk defect consumes contingency;
  • a business deadline changes; or
  • evidence shows a supposedly minor need is central to achieving the objective.

However, reprioritization is not a way to add scope without consequence. If a new item becomes Must Have, the team should visibly decide what changes:

  • another item is downgraded or deferred;
  • more delivery capacity is approved;
  • the timeframe changes; or
  • the expected release outcome is revised.

A requirement classified as Won’t Have this time can become a Must for a later release. Conversely, a Could Have may be removed from the roadmap entirely if it no longer supports a meaningful objective. MoSCoW is not a permanent ranking of feature worth; it is a transparent commitment for a defined decision horizon.


Create a prioritization record for your portfolio case

For the service-fulfilment case study you will develop later in the course, maintain a Prioritized Requirements List in Excel, Confluence, or a Jira-style backlog view.

Use one row per atomic requirement and include:

  • requirement ID and concise description;
  • linked business objective or risk-control objective;
  • decision timeframe;
  • MoSCoW category;
  • consequence if omitted;
  • workaround, if one exists;
  • key dependency;
  • rough effort or complexity;
  • decision owner; and
  • a one- or two-sentence rationale.

Keep the release test visible at the top of the page:

Must Have means that the Release 1 solution should not be deployed without the requirement.

That sentence makes the artifact useful in both a stakeholder review and an interview. It demonstrates that prioritization is not merely assigning labels in Jira; it is managing scope, value, delivery risk, and stakeholder expectations.


Key takeaways

MoSCoW converts a justified requirement list into a defensible release plan.

  • A Must Have is necessary for a viable, safe, compliant, or outcome-achieving release—not simply a high-value request.
  • A Should Have is important but has an acceptable, though possibly painful, workaround.
  • A Could Have is desirable but can be removed with limited impact, providing delivery contingency.
  • A Won’t Have this time is an explicit scope decision for the stated timeframe, not an unrecorded rejection.
  • Prioritize atomic requirements rather than broad feature statements; one large request often contains items in several MoSCoW categories.
  • Defend priorities with objectives, evidence, omission consequences, workarounds, dependencies, estimates, and an accountable decision owner.
  • Keep Must Have effort realistic and retain flexibility. If everything is Must, the team has not yet made meaningful trade-offs or decomposed the work sufficiently.

You have now completed the discovery and prioritization foundation for the course. Next, the focus shifts from what the change should include to how work currently happens: you will define process boundaries using SIPOC—suppliers, inputs, process, outputs, and customers.

Can't find a good explanation? Sign up and we'll make it for you

Sign up