Feature Creep

The tendency to add "just another little feature" ...until the whole product is overwhelmed with them.

Examples: PerlLanguage, most MicroSoft products.


Since there are still people who in all seriousness suggest that adding a new feature is better than fixing a bug, on this wiki no less!, it behooves us to explain, or at least to prove beyond the shadow of a doubt, why such an attitude is backwards and antedeluvian.

The generalization of the following to all software development should be obvious. From Sensible design principles for new networks and services (http://www.firstmonday.org/issues/issue10_1/kilkki/)

Our studies about the usefulness of communication services indicate that a small set of basic features is able to provide a great majority of benefits (Pohjola and Kilkki, 2004). Any additional feature, for instance a QoS mechanism, typically provides only a marginal gain that is easily lost due to the additional efforts needed to manage and operate the network. Therefore, although it may seem reasonable to develop a new capability, the following matters must be carefully considered:


Being a fan of toaster ovens, I've observed bloat over the years in the front panels. The old style ones had just two sliders/knobs: temperature and duration. (Perhaps a third option, fan level could be considered.) Now they have too many buttons and too many modes, often buttons for specific foods. Newbies cannot use them without training, spending lots of time experimenting, or reading the manual. I'd rather go back to the 2 or 3 sliders, but perhaps with a digital read-out to better monitor the levels. It is easier to bump a slider up or down than push 3 buttons roughly 8 times total. We've regressed.


The worst example of this IMO are the on-screen monitor 'control panels' instead of using the obvious one-per-button control. Every monitor is different and it takes me 40x longer to adjust brightness. I used to just move a slider/button and directly adjust it. Now I have to press Menu, plus and minus buttons, option buttons, etc, navigating some arcane proprietary UI that won't exit until I wait 5 seconds.


See also CreepingFeaturitis, LanguageIdiomClutter, and FeatureInteraction.


EditText of this page (last edited November 12, 2014) or FindPage with title or text search