"The most important thing is that the site has to be absolutely perfect before we launch."
I've had this sentence (or some variation of it) said to me by clients many times, and whenever I hear it, red flags start to go up in my mind. In the worst cases I've dealt with, "it has to be perfect" becomes code for "I'm going to lose all sense of perspective and keep worrying and tweaking at this thing until the end of time."
Let's be honest, "perfect" is a relative term. One person's "perfect car" can be someone else's gas-guzzling death trap. I'm still trying to find the "perfect" TV media center for all my (baroque) needs, but I recognize that a Roku or AppleTV is "perfect" for most people. The "perfect" that exists in the client's head is only true for them, not necessarily their users or their customers.
There's nothing wrong with taking pride in your work - in fact, it's an integral part of becoming successful. But eventually there's a point where endless tweaking, massaging, and striving for "perfection" becomes masturbatory. You cross the line from a manager to "A Businessman!" trying to achieve the Platonic Ideal of your project, something that is not possible in reality.
So we fiddle away, trying to hew ever closer to amorphous "perfection", and the opportunity costs keep increasing. Timelines grow longer. The relative value of the changes we are making goes down, and the excitement around the project inevitably wanes. Everyone's thoughts turn to "Ugh, are we still doing this?"
So how does one escape from the endless loop of "perfection"? By pushing it. Pushing it real good.
At Ethercycle, we hammer the concept of Minimum Viable Product (MVP): once something has just the core features that the product needs, we launch it. Then we watch and see what happens, knowing that our customers will show us where the product needs to go after that. This strategy allows us to avoid wasting development on additional planning and features that end up never getting used and instead on the ones that our actual customers are clamoring for. This ensures that development is less costly, your customers are getting the things they need, and that production isn't caught in an endless loop of tweaking things that will never be noticed.
The one ironclad rule we have for all our Ethercycle Labs projects is that they have to be totally executed within 48 hours. We think up a problem or product, establish the MVP, and then push it out in 2 days. Additional features or add-ons will only be determined after we get the actual thing out the door. These are the projects that I always end up most proud of - development always stayed exciting, the ideas always kept flowing, and the production was never bogged down with add-ons or tweaks from out of left field. MVP has worked out pretty well for us too - our Labs network brings in over a million pageviews a month, which makes for some nice recurring ad revenue.
Nate Silver hits it right on the head in this interview before the relaunch of his new website:
Mike Tyson said "Everybody has a plan until they get punched in the mouth." We want you to commit as little as necessary, then try to take that punch as soon as you can. This will leave you agile and ready to deal with the punches that are actually coming, instead of the ones you worried about before you ever got into the ring.
Are things still on schedule for Monday? What percentage ready are you?
That’s certainly the plan. The thinking here is we’re 75 or 80 percent ready, but the thing is, if we waited another month, we’d still just be 80 or 85 percent ready. You’re going to make some mistakes once you launch that you can’t really deal with until you actually have a real product. It’s like playing poker for no money — you can learn some elements of strategy, but unless your neck is on the line, you’re not going get over that final 20 percent of tough stuff you have to learn.
*This is not to say that Rick Ross' "Push It" doesn't also have something contribute: Remember, never traffic for fun, only traffic for funds. Your time and expertise have value, don't do work for free. Yes, I know it's hard. But the line of people looking to take advantage of you is never ending.