Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have come across the expression software/feature bloat, but is this a real thing or should we rather be talking about things like performance problems, memory and disk footprint, user experience and on-demand installation? What am I missing here?

share|improve this question

5 Answers 5

up vote 8 down vote accepted

In my experience, it is because feature bloat is a root cause of problems rather than a direct problem that it useful to think of it separately.

In addition to the potential problems for the end user listed in the original question, feature bloat can have significant maintenance cost. When adding a new feature it's important to not only consider the cost of developing that feature, but maintaining it over the lifetime of the product. The oft-quoted rule of thumb is that time spent on a feature is 20% development and 80% maintenance, but in the real world it varies widely depending on feature complexity and degree of interaction with other features.

share|improve this answer
1  
I'd argue one can add features that have negative maintenance costs . . . –  Wyatt Barnett Jan 9 '12 at 21:38
    
@WyattBarnett I guess some bug reporting features, could be examples of this. –  David Jan 10 '12 at 8:49

There are two meanings of this:

First is not about technical shortcomings, it's about user experience. Unnecessary features make it harder for user to figure out the application. User will perceive application as too complicated and will not know how to do basic stuff.

Second is that having too many rarely used features makes software bloated in terms of memory and disk footprint. That's why in lot of applications you have plugins instead, which can be installed only when you actually intent to use them.

share|improve this answer
2  
Interestingly: The Ribbon, in office, was an attempt to combat the first. From what I recall, there was a staggering number of feature requests for Office 2007 that already existed. People just couldn't find them. –  Steve Evers Jan 9 '12 at 20:06
    
In terms of memory and disk footprint you really shouldn't be that worried. RAM and Hard Drives are getting cheaper and faster every year. –  Bryan Dunsmore Jan 10 '12 at 1:25

A very similar term is "feature creep". vartec's answer is a better explanation of "feature bloat" but you should also know what "feature creep" means.

Basically, as a project evolves there is often a tendency for more features to be added to the project. This becomes a serious planning problem, as it is impossible to ever finish a project that keeps changing and increasing in scope.

Where "feature bloat" connotes more of a user experience problem, "feature creep" is more of a scheduling problem.

share|improve this answer

I think software bloat and feature bloat are two differentt things.

A particular feature could be implemented with less code, so it's not the feature but the software that is the root of the cause. Developers need to be constantly reminded to not add features that weren't requested.

It's tempting to jump all over the number of user requests. Sure they can ask too much relative to the development resources available, but programmers often add features of their own. Developers tend to bring a bazooka to a mosquito hunt.

share|improve this answer

During the late 1990s, Microsoft Excel had at least three, and I think four, mutually-incompatible ways to add an "international" currency symbol onto a formatted number, each accessed by its own separate UI.

So, yeah, "feature bloat" certainly does exist.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.