[ Ionut Dumitru ]
ProductJan 19, 20266 min read

Ship the smallest thing that could be wrong

The goal of shipping small isn't speed for its own sake; it's exposing your assumptions to the only critic that counts.

The goal is to ship the smallest thing that could be wrong — not the smallest thing you can build. Those sound alike and they are not. The first is a deliberate act of exposure: you pick the one assumption holding up your whole plan and you put it in front of a real user before you've spent three months building everything that depends on it. The second is just slicing your roadmap into thinner pieces of the same untested guess.

Every plan rests on a load-bearing belief. People will pay for this. Users will tolerate the extra step. The data is clean enough. Most of the work you're about to do only matters if that belief is true, and you almost never know whether it is. Shipping small is how you find out cheaply, while being wrong is still survivable.

Find the assumption that's actually load-bearing

Not all uncertainty is equal. Some risks are boring — you've solved them before, the path is known, building it is just typing. Others are the kind where if you're wrong, the rest of the plan collapses. Those are the only ones worth optimizing your first ship around.

I once watched a team spend a quarter building a polished onboarding flow for a feature nobody had confirmed people wanted. The flow was beautiful. The retention chart was flat. The load-bearing assumption was never "can we make onboarding smooth" — it was "does anyone come back on day two." They had shipped small in effort but large in risk: a lot of careful work resting entirely on the one thing they hadn't checked.

The honest question to ask before you build is uncomfortable. What is the single belief that, if false, makes everything after it pointless? Ship the thing that tests that belief first, even if it's ugly, even if it embarrasses you.

Ugly on purpose

The smallest thing that could be wrong is usually crude, because polish is what you add once you know the thing is worth polishing. A spreadsheet behind a form. A button that emails you and you fulfill the request by hand. A flow with three steps stubbed out and one real. The point isn't to fake the product — it's to make the riskiest part real and let everything else stay fake until the risk clears.

This is hard for people who care about craft, and I care about craft. The instinct is to make it good before you let anyone see it. But good is a claim about a future you haven't earned yet. A rough thing in front of a real user this week teaches you more than a refined thing in front of nobody for a month.

Polish is a bet you place after the table tells you the odds, not before.

There's a discipline to building ugly well. You still write the one real path carefully, because that's the part under test and you need its signal to be clean. You just refuse to spend a single hour on the parts that only matter if the bet pays off.

The only critic that counts

You can review a plan, pressure-test it, get six smart people to poke holes. None of them are the market. The market is the one reviewer who doesn't care how reasonable your reasoning was. It only tells you what happened.

Internal conviction is cheap and it compounds in the wrong direction — the longer you go without contact, the more confident and more wrong you become, because you've been arguing with people who share your premises. A user who shrugs at your demo has just handed you the most valuable thing in product development: a fact, delivered before it got expensive.

So make the test legible. Decide in advance what result would change your mind, because a ship that can't fail isn't a test, it's a launch with extra anxiety. Write down the number, the behavior, the thing you expect to see:

  • "If fewer than one in five who start the flow finish it, the friction is the product, not the polish."
  • "If nobody clicks the fake button, we don't build the real one."

That second one is the whole method in a sentence. The fake button costs an afternoon. The real one costs a quarter. Find out which afternoon to spend before you spend the quarter.

What this protects you from

Shipping small isn't about moving fast, though you do. It's about keeping the cost of being wrong proportional to how unsure you actually are. Big bets deserve big builds — once the bet is confirmed. The mistake is paying the big build's price for a bet you could have settled for the cost of a rough afternoon.

The teams I trust most aren't the ones with the cleanest roadmaps. They're the ones who can tell you, for every major thing they're building, exactly which assumption it's testing and what would prove them wrong. That clarity is what shipping small actually buys you. Speed is a side effect.

Pick the assumption that scares you. Build the ugly thing that tests it. Show it to someone who can say no. Everything else is easier once you know whether the first thing was true.

#Product#ShippingShare ↗
→ / AUTHOR
Ionut Dumitru
Ionut Dumitru

Full-stack engineer and product designer. Writes about building products where the engineering and the design are the same job.

→ / NEXT
SystemsJan 12, 2026
Self-host the things you'd be sad to lose
← All writingionutdumitru.com