Minimum is a sentence, not a feature list
A useful definition names a person, a task and a finish line. Someone who has never seen this can sign up, do the thing they came for, and know that it worked.
Once that sentence exists, most requests answer themselves. Anything that does not touch the sentence belongs to version two.
The three ways scope expands
It expands through edge cases nobody will hit in the first month. It expands through settings that exist because two people disagreed and neither wanted to lose. It expands through admin screens that could be a spreadsheet until there is a reason they cannot.
None of these looks like scope creep on its own. Together they are the entire delay.
- Edge cases before the common case works
- A setting instead of a decision
- Admin screens for a job three people do twice a week
- A second type of user before the first one is happy
What minimum does not mean
Minimum is not unfinished. A product that takes payment but has no refund path, no onboarding and no way to reach a human is not lean, it is broken in the way that costs you the customers you paid to acquire.
The line sits roughly here: cut features freely, never cut the parts that make a feature survivable.
Write down what version two holds
Scope arguments repeat because rejected ideas have nowhere to go. A visible list of what comes next ends the argument in one sentence instead of ten.
It also does something more useful: after launch, real usage decides which of those items was actually needed, and it is usually not the one that felt urgent.