What and when should you add another feature?

How do you choose what feature to add (or to remove) next from your product?

The democratic approach

If you have access to them then you can ask your users directly. Including a short video, animation or at minimum a description of what the feature is, and how they might use it. Then you can ask them how valuable it would be to them and how often they might use it. Given this data a direct inference of which features to prioritise may be made.  However the data will still have a statistical skew towards those willing / able to answer your questions. Additionally these are not “questions your Mum could not lie about”, i.e. they are not asking the person about their actual behaviour.  There are therefore two better approaches that may be possible.  The first relies on establishing trust with your customers and asking your questions in a way that encourages dissenting opinions to be expressed: “When was the last time you drank orange juice? – Two years ago? – Ok so you don’t like it then.”.  The second more reliable but even more resource intensive approach is to implement the feature and release to a subset of users with the explanation above.  If they use it and come back to use it then their actions are irrefutable endorsements of the feature.

A second avenue for prioritising features is available if you have people writing in, say on a support email, via twitter or a community Q&A site. You will need to remember to correct for the fact that there will be a signal bias towards people trying to find a solution coupled with their level of commitment to your product to date. In other words even if the most requested feature is talked about 10 times more than the one below, it might only represent 5% of your user base and does not mean they are representative of your whole user base.

The product designer lead approach

The “democratic” feedback lead approach is very powerful but it struggles in at least three areas.

The first is in visionary step changes.  Sometimes a new approach to a problem becomes obvious which is completely different from the old ways of doing things, the classic: “If I asked my customers what they wanted they would have asked for a faster horse, not a motor car” – Henry Ford.  In these cases a flourishing business may be built upon a niche market. This requires the early adopters to be those with similar vision and with money, influence or both.  Given these early adopters the company has a good chance of surviving long enough and being able to educate and create larger markets for their products.

The second scenario where democratic product design fails is in the silent majority.  Those who do not express an opinion even if asked directly.  For simple products this is still a problem as if the direction of the product goes even slightly awry, the product may fail to reach mass adoption.  For complex products, it is necessary to weigh up and favour simplicity over complexity.  The former aiding:

  • explaining your product to new customers
  • on boarding new customers (it being detrimental to be presented with an initially much more complex environment)
  • maintaining your product for existing customers
  • enabling existing customers to sustain the productivity they find with your product
  • enabling existing customers to explain your product to new customers

The third area is the “one-size-fits-none monstrosity“, where thoughtful segmentation of the product allows for several main or niche use cases to be fulfilled without unnecessary product bloat.  This however can rack up large technically debt if not architected correctly.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s