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¶
- List your stories (short descriptions of features or needs).
- Apply MoSCoW to filter out the “Won’t have” and focus on “Must/Should.”
- Estimate Effort in story points (developers).
- Estimate Value in value points (customer).
- Calculate Bang-for-the-Buck to order work.
- 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.