I was recently watching a documentary about the engineering challenges of successfully landing the Mars rover Curiosity on the surface of Mars. Traveling at 12,000 miles per hour, NASA officials describe the landing as “six minutes of terror.” The chief engineer on the project said something that astounded me. He said, “Engineers aren’t paid to make things right. They are paid to make things right enough.”
This statement applies to the software world as well, particularly B2B SaaS companies. Software vendors are constantly challenged with the notion of building and delivering “perfect software” – 100% feature availability, 100% bug-free, and capable of solving every business problem the customer has ever wanted (or might want). Sales needs one more feature to close that next deal. Development wants one more week to make the product a little bit better. The CEO wants the full solution platform TODAY for competitive differentiation.
Guess what? We buy and use and love imperfect software every day. Salesforce.com, the de facto CRM platform is not perfect. On a daily basis, I can tell you five things that I don’t like about SFDC that make it a flawed product. However, am I going to stop using it or switch to another product? Probably not. That’s because it’s good enough and good in all of the areas that count.
Getting to perfect is costly, jeopardizes market entry, and is not practical. SaaS/Cloud software is delivered incrementally throughout the product lifecycle and is NEVER finished. There’s always another release, which makes the idea of perfect software an impossibility. I’m not suggesting that we don’t strive for great software; that’s always the goal. However, always deliver a product that is right enough now and on the path to perfection, but realize that you might not ever get there…and that’s OK.