Creeping featurism
|
Creeping featurism, or creeping featuritis, is a phrase used to describe software which over-emphasizes new features to the detriment of other design goals, such as simplicity, compactness, or bug reduction.
A related term, feature creep, describes the tendency for a software project's completion to be delayed by the temptation to keep adding new features, without a specific goal.
This phrase is sometimes rendered as the spoonerism "feeping creaturism", which brings up the image of each new feature being a small creature which runs around going "feep, feep".
Many people criticize Emacs as being a prime example of creeping featurism. Emacs proponents, however, tout Emacs' all-in-one nature as one of its primary benefits. Multi-paradigm languages such as C++ have also faced such criticism.
Creeping featurism is an example of an anti-pattern.
See also
- Functionality creep, when a physical document or other non-computer related procedure ends up serving unexpected or unplanned purposes.
- Scope creep, when the features of a project gradually increase.
- Software bloat, the inefficient use of memory and storage space.
External link
- The Interaction-Design.org Encyclopedia entry on Creeping Featurism (Featuritis) (http://www.interaction-design.org/encyclopedia/featuritis_and_creeping_featurism.html)
- Creeping Featuritis article (http://c2.com/cgi/wiki?CreepingFeaturitis) from the Pattern Repository's Wiki (http://c2.com/cgi/wiki?WelcomeVisitors|Portland)