In the world of software there has over the past year or so been a quite heated debate over which is better: more or less features. The proponents of more features have an argument that seems so obvious: more features mean better product, right? This is a quite logical argument. In this debate, this view has been most prominently supported by Don Norman, who reports from experience, for instance regarding Asian technology shoppers.
In the other corner we have those who support less bloated products, the “less is more”–crew. 37 signals are notorious for holding this view, with slogans like
instead of one-upping, try one-downing .
And then we have me. I find myself somewhere in the middle, as any good practitioner of dialectic. I believe that in their focus on being right, they miss the main point: selection.
First of all, I must admit that I lean towards the “less” camp. I believe many features are added to products, simply for the sake of adding a feature. Furthermore, I lean towards the “less” camp, because Norman makes a horrible case for himself, using arguments that do not suit his claim, and that can be counter-argued without much effort.
Norman’s argument that we should add many features to products because they sell better misses the goal by so many miles, I doubt it can even be counted as a counter-argument. What Norman is advocating is catering to the standards of today, and have the product seem attractive to prospective buyers. What 37signals are advocating is instead to make your product be more attractive. An idealistic approach, maybe, but one that will arguably result in greater software, which is always a good thing if you want to sell software.
What Norman does not seem to get is the fact that 37signals are not interested in catering to the common consumer, thus not interested in appearing great. In his most recent piece, he criticises their arrogant attitude, citing the fact that DHH has publicly admitted that he is building software for himself. But in criticising that, he is ignoring a conventional wisdom that the agile software crowd (lead by 37s) have accumulated over the past few years: if you build software you yourself use, you will have an immediate customer to test against. Of course, not all software developers are so fortunate that they have this opportunity, but that is some of the beauty of the 37signals concept: if focusing on stuff they can use themselves means they cannot grow beyond certain limits, so be it.
But 37signals are not home free, not even close. They are also missing the real secret behind great software: selection.
Furthermore, they do not even follow their own advice. They do, in fact, add features to their software, despite claiming the opposite is necessary to write great software. This shows that they do in fact get the secret, just that they preach something else.
“Have a feature less than the competition” works great as a slogan, but it blurs the spectrum, and adds fuel to the other camp. For it is an insane advice. Following that rationale to its logical conclusion, the best piece of software would be one without features. But of course, no one in their right mind would ever agree to this. In coming up with a rule of thumb, 37signals neglect the real point of it all: select what you need to remain focus on the task of the application.
Sometimes you do need to add a feature for the software to be better, to better fulfil its purpose. Oftentimes, a suggested feature will add unnecessary complexity, striding away from the main goal. Focus and selection are the keys to this. There is no golden rule you can always follow, you have to make a conscious decision for every considered feature: does it, or does it not, help users fulfil the goal this piece of software is aimed at helping them with? Only then can you create great software.