Software engineers love features. They add a feature to marginally improve a product, then they add another one, then one more. Sometimes, they just forget to ship the final result; sometimes they add a ton of features that nobody wants to use. This way countless of products and services have failed.
The solution is very simple. Start small and build the basics, then either don’t grow or only enhance the basics; or grow organically, only when needed. This is a simple concept, yet developers are often afraid that if they don’t add those 10,000 features, every user will switch over to the competitors’ product.
37Signals, for example, is a great company that creates simple solutions. They say that they “underdo” the competition by putting fewer features than everybody else, and that is why millions of people love and use their products.
Freckle, another example, is a great web app by Amy Hoy and Thomas Fuchs. They didn’t try to add all the features their competition had. In fact, they have less features than other similar products, yet they charge more; and their customers pay happily.
At first, when we built the Tablet Menu, we only created the wine list module. This was what our customers needed. Once enough customers began asking for other features, we created more modules.
How can this work?
People don’t look for features when they look at your product or service. They look for solutions to their problems. They don’t care for your 10,000 features and that you wasted five years of your life. If your solution doesn’t solve their problem, well, they will go somewhere else.