Waiting for Perfection

When you spend enough time in pre-product-market-fit startups, you pick up certain rules. Some don’t stand up to new context or wisdom, but here are two related rules that have survived intact for me:

  1. 90% right is good enough
  2. Solve the problems coming up, but not the problems down the road

You can usually get to 80–90% confidence (or 80–90% quality), in something pretty quickly (i.e. days or weeks, not months) with a mix of research/evidence and intelligent debate. What I’ve learned is that you can often get the broad strokes right, but you will almost always get some details wrong. Rather than over-thinking your way through those details, it is usually better to move fast, get an idea “into market,” and iterate from there. This is true for product design, pricing, marketing campaigns, code quality, and most things.

Sounds simple. It can be remarkably hard to do, especially for people who have spent more time at companies that were post product-market fit, even if those companies still called themselves startups.

It’s only natural for talented people to want to take pride in their work, get the details right, and get ahead of potential problems down the road. It’s just dangerous to take that too far.

Startups need fast cycle times. The classic analogy is that you are building the airplane as it is falling. The faster you can make intelligent, reasonably-informed decisions, the greater your odds of surviving and succeeding.

When you dot too many i’s and cross too many t’s, you are failing to face the sheer level of uncertainty and change that is your reality. Which is where the second lesson comes in.

Work on the problems you have and which you are about to have, but don’t try to solve problems well down the road. You have no idea if those will still be problems when you get there — not because they will solve themselves but because your underlying context is likely to change, and thus your needs might change.
Don’t wait for perfection. Like Godot, it will never come. Design an engine for shipping and iterating quickly.