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? :-)

3 comments:

Simples e Pragmático said...

Hi!

This a very simple, yet pragmatic way of putting it.

Having worked in several Agile Projects myself, I would like to add the question "What problems does this feature solve?" which is a context-free question that allows the people to stop and think for a second about what they're trying to achieve and at the same time think about their users for change :)

Castelo said...

IMHO, the secret to make perfect products is doing less. It is the only way you can have the budget to go that extra mile that will make all the difference. Otherwise, if you try to do it all, you end up with a tolerable or good product, simply because there isn't enough budget. A product has a life of years or decades, don't try to make it all the first time. Instead, try to make it perfect in what it does, even if it does few things. Easy to say, difficult to execute.

kutuma said...

@Castelo: Agree! Paraphrasing Exupery, the perfect product is not when there's nothing to add, it's when there's nothing to remove! Maybe I'll write a post about perfection later... :-)
But I don't agree that this saves on the budget. Minimalism is hard work! It is much easier to have an option to ask the user what s/he wants than to design a system that just feels right.