My last post discussed what it means to be a lean startup. In it, I suggested that lean startups need to "release early and release often." This means that rather than trying to perfect your product before launch, you should get it out into the hands of your customers as soon as possible and make improvements from there.
The reason this is necessary is because no matter how much time you spend planning and preparing, you can't avoid making incorrect assumptions. You'll decide to go right when your customers actually want you to go left. Until you have real people using your product, there's just no way of knowing if you're headed in the right direction. By getting your product out there as soon as possible, you're actually making it better in the long run.
The problem is that most of us are raised to be perfectionists, and it's hard to break the habit. During our formative years, most of our learning is done at school, and school's don't allow for second chances. When you turn in a paper, the project is done, so you'd better make sure you proofread it as thoroughly as possible. But business doesn't work like that. Business is about iteration. It's about listening to your customers and adapting over time.
Having said all that, it can be difficult to know exactly when a product is ready to be released. There's a fine line between releasing early and releasing too early. If you're ever in situation where you're just not sure, try this trick: imagine yourself a month from now. Will your future self be mad at your present self for releasing the product?
Most of the time, your future self simply won't care. Seriously, how often do you kick yourself for mistakes you made last month? Normally you just recover from the mistakes and move on. Whatever it is that you're working on, it's just not that important. So when you're stuck in an endless cycle of revisions and tweaks, worried that if you don't get things perfect your entire career will be jeopardized, think about how little your future self will care. Your future self will realize that you should just release the product, learn from customer feedback, and make the appropriate adjustments.
What this boils down to is that most people take the present too seriously. Everything seems important when you're working on it. Every email says "ASAP" and every meeting is mission critical. But the fact is that most of the time, you're actually hurting yourself in the long run by focusing on minutia that won't matter at all a month from now. As many tech entrepreneurs like to say: "Just ship it."