Tuesday, October 27, 2009

When is enough good enough?

We all love perfect products! Those products that you actually feel pleasure just for using. And naturally, we all want to make our own products perfect!

But perfection comes at a price. Generally speaking, the closer you want to get to perfection, the more it will cost you. And the cost increase isn't linear!


(the smiling faces represent the mood of your "average user")

This means you have to be careful when investing on perfection. In most scenarios, there's simply not enough time to make everything perfect. Nothing new here, right? It's just the old quantity vs. quality dilemma. You either do 1 perfect thing, or you do 2 "good enough" things.

If you take this into a software product scope, there are a few guidelines that can help deciding how perfect your feature needs to be:
  1. How many times will the feature be used? Rarely used features can be a bit uncomfortable, and seldom used features can be good enough. Perfection should be saved for those features that are used all the time!
  2. Who will be using the feature? Features targeted at one particular user can get away with a hack. For features existing users are craving for, a quick "good enough" solution may be better than a delayed perfect solution. If you're aiming for first time users, you should go for perfection, to make sure they stick around for more.
  3. How unique is the feature? Is this something every other product does? Is it always done the same way? Unless this is really core to your product, you probably should stick to good enough and go with the crowd. But if this is something truly unique to your product, polish it up for perfection!
  4. Is the feature demo-able? If this is something you'll be wanting to show at a prospect demo or at a room with 400 people, going for perfection is a good investment.
  5. Is the feature sell-able? Is this one of those features that has the potential to enchant customers? Better yet, is this a feature customers will be talking about to your prospects? If so, by all means make it perfect!
These are just a few things to consider. I bet there's lots more! What factors do you take into consideration when deciding how much effort you should invest on a feature?

PS: The same principle can be applied to a bunch of other areas of a software product, like documentation and marketing. Anyone care to make a blog post about those? :-)