AndPlus acquired by expert technology adviser and managed service provider, Ensono. Read the full announcement

3 Ways to Keep Feature Bloat Out of Your Software Development Project

Jul 19, 2016 10:00:00 AM

Feature bloat software development project

We've all seen it. Applications that are so overloaded with features that what should be extraordinarily simple becomes overwhelmingly complex. This isn't just complicated software, such as Photoshop, which has excellent reasons for its complexity. It's apps that should be relatively easy to learn and use, but aren't, because there are just too many features to make sense of it all. That's feature bloat. Feature bloat hogs unnecessary system resources, adds to the cost of app development, and deliver no incremental benefit. Feature bloat also makes a relatively straightforward app become infuriatingly complicated for some people to use.

Sometimes called feature creep, this usually happens over an extended period of time when developers keep tacking on functionality to an existing app "because they can" without considering if they should. If you aren't careful, you can bloat an app during development by insisting on including unnecessary features. As it was so eloquently put by Bruce Lee, "Simplicity is the key to brilliance". Or, as stated by Antoine de Saint-Exupéry, "Perfection is reached, not when there is nothing left to add, but when there is nothing left to take away." Here's how to develop a simply brilliant and brilliantly simple app.

1. How Does This Feature Meet the User's Goals?

Your users have very specific goals when using your app. Going wrong here has been the downfall of many an app. Let's take a look at what it does to a user base when you stray from your intended purpose. When did you quit watching TV Land? Probably when they stopped doing what they did best -- being the only place people could see old, long-cancelled shows they missed from childhood. When did you quit watching The Weather Channel? Probably when they stopped telling you the weather and started airing stuff like "Prospectors". (No, we don't know what that has to do with weather, either. Sorry.)

"Perfection is reached, not when there is nothing left to add, but when there is nothing left to take away."

Don't be like them. Keep your focus when developing your app. If your users want to find great deals, make it easy for them to find coupons and special promotions, and don't hide those things in a bunch of irrelevant articles. Conversely, if they will be using your app to find out important information, don't hide your news articles amid pop-ups and a maze of navigation that would require Lewis and Clark to get through.

2. Are You Catering to the Majority or to a Few?

When developing a business app, there are two groups of people: the mass of typical users who will tell you what they want, but won't kick up a fuss if they don't get it. Then there is a small group of folks who will complain, even if you do give them everything they want. Ignore that second group. Focus on the first. They'll ask for the features they'll actually use.

3. Is There an Easier Way to Do What the Feature Would Do?

Instead of adding a new feature, check to see if it's really necessary. For example, say you're thinking of adding contact information for all your major departments, like sales and marketing, administration, advertising, customer service, etc. Would it be easier to add a link directing them to your website's contact page instead of adding a whole new page of content to your app? Maybe it would, maybe it wouldn't -- this is just an example of how to find a simpler way to get stuff done without letting unnecessary features creep into your app.

Are you looking for more tips, tricks, and insightful information on developing killer business apps? You can get this and more in our blog. Subscribe to our blog today.

Brian Geary

Written by Brian Geary

Brian is a true believer in the Agile process. He often assists the development process by performing the product owner role. In addition to his technical background, he is an experienced account manager with a background in design and marketing.

Get in touch