Skip to content

MoSCoW, Value vs. Effort, and Agile Estimation

When building software, it’s easy to get lost in a giant list of “things to do.”
Agile estimation techniques — like MoSCoW prioritization and Value vs. Effort scoring — help us decide what to do first, how much it’s worth, and when to stop.

MoSCoW – Sorting the “Musts” from the “Maybes”

Info

MoSCoW is a way to categorize work by priority.
The letters stand for Must have, Should have, Could have, and Won’t have (for now).

Example

  • Must have → Password reset function (without it, users can’t log in if they forget credentials).
  • Should have → Dark mode (not essential, but improves experience).
  • Could have → Seasonal theme graphics (fun, but optional).
  • Won’t have → SMS alerts (nice idea, but postponed to next year).

Tip

Use MoSCoW when your list is too long — it forces tough decisions and ensures essentials get done first.

Value vs. Effort – Picking the Right Battles

Info

In Agile, we often use two scores for each task:

  • Value points: How important the task is to the customer.
  • Effort (story) points: How much work the task takes for the team.

The trick? Estimate relatively, not in hours. Humans are bad at guessing “it’ll take 6 weeks” but good at saying “this will take about twice as long as that other thing.”

Example

  • Feature A: Value = 5 (very important), Effort = 2 (small job)
  • Feature B: Value = 4, Effort = 5
  • Feature C: Value = 2, Effort = 1

Feature A looks great — high value, low effort.

How to Estimate Effort – Story Points

Info

Story points are abstract units (not hours!) that represent relative size.
Teams pick a small task as a baseline (e.g., “2 points”) and compare everything else to it.

To make estimates more realistic, many teams use Fibonacci numbers: 1, 2, 3, 5, 8, 13, 21, …
Why? Because bigger tasks are harder to estimate precisely, and the gaps between numbers get larger.

Example

  • Tiny UI text change → 1 point
  • Add a new report → 5 points
  • Integrate with payment gateway → 13 points

How to Estimate Value – Customer’s Job

Info

The customer (or product owner) rates tasks by how much they matter — using the same relative approach.

Example

  • Value 1: “Nice-to-have” admin stats
  • Value 8: “Key compliance feature” to meet legal rules

Developers don’t argue about value scores, and customers don’t assign effort scores — each group owns its side.

Bang-for-the-Buck – Finding the Sweet Spot

Tip

Once you have both scores, you can calculate value / effort ratio to see which tasks give the most impact fastest.

Example

  • Task X: Value 8, Effort 2 → Score = 4.0 (high priority)
  • Task Y: Value 5, Effort 5 → Score = 1.0 (meh)

Start with the highest score, but remember — sometimes dependencies mean you must do a lower-scoring task first.

Putting It All Together

  1. List your stories (short descriptions of features or needs).
  2. Apply MoSCoW to filter out the “Won’t have” and focus on “Must/Should.”
  3. Estimate Effort in story points (developers).
  4. Estimate Value in value points (customer).
  5. Calculate Bang-for-the-Buck to order work.
  6. Re-estimate regularly — priorities and understanding change as you learn more.

Quote

Do the smallest, most valuable things first — then stop when the cost outweighs the benefit.