It’s not about the features!

It’s not about the features!

June 1, 2010 23:47 5 comments

I believe that any software developing company that wants to have a competitive advantage needs to stop focusing on just building features, but instead focus on the users.

Many companies seem to focus on the checklist of features that are dreamed up by marketing. Most of these checklists result from doing ‘competitive analysis’, just look at what the competitors, and do that too. Development teams have to copy all the software features of the competition, just to keep up. That is mediocrity at its best.

Developing software is not a unique trait. It’s not that hard as it used to be, the lab coats are long since gone. Coding can be outsourced to China or India at a fraction of the cost, as can many other aspects of software development.

Shipping a huge amount of features became relatively cheap. The time of industrialization has come for software development. Lines of code are becoming cheaper every minute. A lot of open source software (‘free software’) now has the same (or more) features as commercial available software.

So, it is not about building a huge amount of features.

It is about building clever software that works really well, in its context. Companies have to build revolutionary, groundbreaking, surprisingly good software to be noticed and successful. It has to be different and fresh, revolutionary perhaps.

How do you do that? Invest in interaction design. Do research to find out who your users really are. Talk to them. The real users.

Learn about them. Find out what they need. Find out what they like, what they don’t like.
Learn where your software becomes part of their lives.

Learn how to improve. Improve your software, and learn more. Make your users happy. Never lose them out of sight.

5 Comments

  • Greg

    With respect to features I completely agree. In fact, there is a lot of value in removing “features” that are of no use. Where I work, many users will gladly trade 30 useless “features” for one very valuable text field in the correct place that makes the job easier – not exactly rocket science but certainly valuable.

  • J Gruszynski

    This is one of those obvious ideas that pretty much everybody ignores, because to actually focus on customer benefits you have to actually talk to customers to find out what value they need that you can provide and thus you spend time with them teasing out this answer rather than “simply” making your product. You spend most of your time NOT coding but getting requirements and iterating the solution intimately with your customers instead.

    As usual, laziness reigns and thus features get built rather than benefits. Another name for value-focus (in sales) is “sell-on-value” rather than “sell-on-price”: price is just a feature but value is what the software does specifically for the buyer. The former is what Apple does; the latter is what Wintel PC HW vendors do.

    I’m a techie who’s had the benefit of selling high-end tech products so selling-on-value and developing-for-value is a more natural way of doing it for me. I’d hate to sell a commodity product actually because all you have is price and a list of features to justify your product “value”. Such a product space is a dull and uninspiring job as a product design task.

  • Reedo

    J Gruszynski already mentioned Apple, but I just wanted to reiterate it. The user interface standards in Mac software are impressive, whether the developers work for Apple or elsewhere. The point is that usability and consistency lead to software that’s approachable. If the user feels intimidated or confused then the user is likely to purposely or accidentally skip the new whiz-bang feature that would’ve saved them so much time and effort! (“Oh, I never noticed that. All along, it was in the second tab of the dialog reached through the last option in the submenu?”)

  • terry

    I agree about prioritizing users over a features checklist but this statement:
    “Coding can be outsourced to China or India at a fraction of the cost, as can many other aspects of software development.”
    Is a bit of a problem. People who advocate outsourcing never look at the enormous communication and culture differences that make building QUALITY software even more difficult than it already is. Good communication is a large component of quality which is a big part of making software people want to buy but outsourcing is all about cost not the quality you speak of or executing on the features users really want. It all adds up to one big fail don’t be fooled.

  • I agree that making software is all about communication. But I think competent developers are everywhere, it’s not a monopoly anymore.

    Quality in code is important for maintenance and speed of development. A few companies I worked for did extensive outsourcing in India. Communication is important, but there are many very competent developers that can build quality code. Culture differences can be really interesting and beneficial, too. (Different perspectives on things makes the world an interesting place!)