25. Featuritis (or creeping featurism)
Featuritis or creeping featurism is the tendency for the number of features in a product (usually software product) to rise with each release of the product. What may have been a cohesive and consistent design in the early versions may end up as a patchwork of added features. And with extra features comes extra complexity. As Donald Norman explains: "Complexity probably increases as the square of the features: double the number of features, quadruple the complexity. Provide ten times as many features, multiply the complexity by one hundred." (Norman 1988: p. 174) The result is, in other words, that the product may be extremely productive to the small proportion of expert users whose knowledge of the use of the product has been extended with each incremental addition of features. For the first-time user or the beginner, however, the sum of features is overwhelming and it can be very discouraging to have to spend large amounts of time finding out how to accomplish simple tasks.
The cause of featuritis
Featuritis is caused by enthusiastic users who request additional features to meet their specific needs and because additional features could "improve" the software, at least from their point of view. These are the aforementioned users who actually profit from the continuous addition of features and for whom it is truly desirable ("Gee, wouldn't it be nice if it had this feature too?"). Well-meaning designers who are not aware of the danger of featuritis oblige their (power) users but do so on the expense of the average user or beginner, who are not necessarily interested in extra features.
Once a software application suffers from featuritis, it can, at least theoretically, be easily cured: Provide a simple and easy-to-use "beginner's mode", which contains a basic subset of the full set of features. Thus, the majority of users can get their job done easily and without being confronted with the complexity of the entire program, while gracefully ensuring that the power users still have access to all the complex, special-purpose features.
Other ways of curing featuritis is modularising the given software, device or artifact by creating separate functional modules, each having a limited set of controls, each specialised for some given aspect of the user's task (Norman 1988).
Note: Software that suffers from featuritis/creeping featurism is also known as bloatware, or fatware.