Perfect is the Enemy of Shipping
I admit it: I’m a perfectionist.
But in my profession, Product Management, this can be life threatening.
In a startup, there are two critical life-supporting resources: money and time.
After running out of runway, nothing kills a startup as quickly as running out of time, and nothing causes that time to go to waste as fast as striving for perfection.
The truth is that few of us work on life-saving or life-critical applications such as finding a cure for cancer or building stock trading apps or air traffic control systems. That means that if our applications don’t work just right (i.e., are perfect) in one release, then we always have an opportunity to improve them in an upcoming one.
Jeff Bezos likes to break decisions type into reversible and non-reversible. Similarly, I found that about 20% of the decisions that I have to make on a daily basis are crucial the success of the product and survival of the company. These decisions are usually centered around: core architecture, infrastructure, stability, security, and scalability. The other 80%… are reversible: workflow order, icons, and labels on buttons, user profiles details, even aspects of a business model, given the right time, can be pivoted and iterated.
Few things create as much value as to actual working software in the hands of our users.
Striving for perfection — and if you subscribe to the belief that applications are never finished you already know this — is a goal that can never be reached and one that can lull you into a falls sense of progress and a mirage of deception.
Bad decisions are better than no decisions
Assuming that you are deciding on the non-life-threatening 80%, then you’ll always be better off by coming to a quick consensus on what it should be, not over analyzing it, and shipping.
If you make a wrong decision you can learn from it and correct it, but if you don’t make one because you are striving for perfection, you’ll never ship, and one who doesn’t ship is one who doesn’t learn.
Happy shipping! :)