Why we say no to almost every feature request during an MVP build
Nearly every single MVP build we've ever run produces at least one moment where the client, right in the middle of the project, has a genuinely good new idea and understandably wants to add it immediately. We say no to almost all of these requests in the moment, not because the underlying idea itself is bad, but specifically because the timing is wrong, and timing genuinely matters here just as much as the quality of the idea itself.
A genuinely good idea added mid-build still delays the actual real test
Every single addition, however genuinely good the underlying idea is, pushes back the actual date when the core assumption finally gets properly tested with real, live users. An MVP that never actually ships because it kept quietly absorbing more and more good ideas along the way has ultimately tested absolutely nothing in the end, however impressive the eventual final feature list happens to look on paper.
We keep a running "version two" list instead of simply losing the idea entirely
Saying no in the moment genuinely doesn't mean the idea itself gets lost forever. Every genuinely good mid-build suggestion goes directly onto a clearly maintained version-two backlog instead, formally reviewed once real, actual user data from the shipped MVP itself finally starts coming in. Often, the original idea turns out to matter considerably less once real usage data is actually available, or it ends up getting replaced entirely by a genuinely better idea that real user behavior itself ended up surfacing instead.
This discipline reliably pays off in the actual launch date, consistently
Every single project where we've held this particular line firmly and consistently has hit its originally committed launch timeline. The projects where scope discipline slipped even slightly have, without a single exception in our experience, ended up taking meaningfully longer than originally planned, which is genuinely the clearest evidence we have that holding a firm no here actively protects the eventual outcome, rather than obstructing it.
How we handle a request that genuinely can't wait for version two
Occasionally a request is genuinely urgent, a legal or compliance requirement that surfaces mid-build, for instance, not simply a good idea that can wait. We evaluate these against a simple test: does shipping without this specific thing create real risk, not just a missed opportunity. If the honest answer is yes, it gets added immediately. If the honest answer is no, it goes on the version-two list along with everything else.
What we tell a client who feels like they're being told no too often
If a client starts to feel like every request is getting deferred to version two, we treat that feeling itself as useful signal worth addressing directly, not just noise to push through. Sometimes it means we've genuinely been too conservative about scope, and a specific request deserves reconsideration. Sometimes it means we need to explain our reasoning more clearly. Either way, the feeling itself is worth a real conversation, not a dismissal.
If a client starts to feel like every request is getting deferred to version two, we treat that feeling itself as useful signal worth addressing directly, not just noise to push through.
How we present the version-two backlog so it feels like progress, not rejection
A backlog that a client never sees or hears about again quietly starts to feel like a place where good ideas go to be forgotten, even if that's genuinely not the intention behind it. We share the version-two list openly and review it together with the client at least once during the build, showing exactly how many ideas have accumulated and confirming they're still genuinely being tracked rather than silently dropped.
This visibility matters more than the actual mechanics of the backlog itself. A client who can see their idea sitting in a real, maintained list, waiting for its proper turn, experiences a "not yet" very differently than a client whose idea seems to have simply vanished into a vague promise of being considered someday.
What happens to the version-two list once the MVP actually ships
The moment real user data starts coming in is when the version-two list finally earns its keep. We run a formal review session with the client within the first few weeks post-launch, going through every deferred idea against what the real data actually showed, keeping the ones that still make sense, deprioritizing the ones real usage patterns have quietly made less relevant, and often adding new ideas the launch itself surfaced that nobody had originally thought to include.
This review consistently produces a considerably sharper, more evidence-based product roadmap than the original list of pre-launch guesses would have, on its own, produced if it had simply been built directly into the MVP without ever being tested against real user behavior first.
A specific instance where holding this line prevented a genuinely costly detour
One founder mid-build wanted to add a fairly elaborate referral and rewards system, genuinely convinced it would meaningfully accelerate early growth once the MVP launched. We deferred it to version two, and once the MVP actually shipped and generated real usage data, it became clear that the core retention loop itself had a more fundamental problem, one the referral system would have needed to solve before it could realistically drive any additional meaningful growth on top of it.
Building the referral system first would have cost real weeks of engineering time solving a problem that, as it turned out, wasn't actually the business's most urgent one yet. The founder later told us directly that this specific deferral, uncomfortable as it felt at the time, was one of the better calls made during the entire project.
What we've learned about setting this expectation before the project even starts
Founders who understand the reasoning behind this discipline before development begins handle mid-build deferrals considerably more gracefully than ones encountering the policy for the first time in the moment a request actually comes up. We now walk through this whole approach explicitly during kickoff, using real examples like the referral system story above, so a founder has already agreed in principle to the discipline before it's ever tested against their own genuinely good idea appearing mid-build.
This upfront framing has made the in-the-moment conversation considerably easier every time it's come up since we started doing it consistently, since we're reminding a founder of something they already agreed made sense, rather than introducing an unfamiliar, potentially frustrating new policy in the middle of an already tense, deadline-pressured moment.