Feature creep

From Wikipedia, the free encyclopedia
  (Redirected from Creeping featuritis)
Jump to: navigation, search
For the project management concept, see scope creep.

Feature creep, creeping featurism or featuritis is the ongoing expansion or addition of new features in a product, such as in computer software.[1] Extra features go beyond the basic function of the product and so can result in over-complication rather than simple design.

Causes[edit]

The most common cause of feature creep is the desire to provide the consumer with a more useful or desirable product, in order to increase sales or distribution. However, once the product reaches the point at which it does everything that it is designed to do, the manufacturer is left with the choice of adding unneeded functions, sometimes at the cost of efficiency, or sticking with the old version, at the cost of a perceived lack of improvement.

Another major cause of feature creep might be a compromise from a committee which decides to implement multiple, different viewpoints in the same product. Then, as more features are added to support each viewpoint, it might be necessary to have cross-conversion features between the multiple viewpoints, further complicating the total features.

Marketing considerations: Product life cycle and the competition impetus[edit]

A product typically goes through the general life cycle of introduction, growth, maturity and decline. The Sony Walkman can serve as a functional example whose life cycle is well-documented.

Introduction[edit]

At the introduction stage, a manufacturer (Sony) trail-blazes a new product (a portable cassette player with the trademark name "Walkman") with the most basic feature set (play, pause, stop, fast forward, rewind, eject) in order to engage the consumer and support use and acceptance; meanwhile, competitors "wait and see" if the product will create a market worth investing in.

Growth[edit]

With sufficient growth, competitors enter the space, providing choice to the consumer, often competing merely on price as a cheaper alternative to the flagship brand's product offering.

Maturity[edit]

At the maturity stage, with competitive products occupying the space, new features are introduced ("auto-reverse", "stereo with extra bass", "shock proof for jogging", "waterproof in the rain"...etc.) in order to differentiate brands beyond merely price point, and to create brand demand over price demand. The trailblazer is looking to fend off the new challengers, while the new challengers are looking to get a leg up on the trailblazer. It is at this stage that a proliferation of features occurs most often. In some respects, then, it is understandable that a company succumbs to the constant drive to "one-up" the competition and provide new reasons to say "new and improved" to the consumer, to drive sales.

A strong indicator that the maturity stage has been reached, beyond feature creep, is when the trailblazer's prices start to drop in response to the downward pressure from the competition. Some argue this occurs when there's "nowhere else to go", when there are no further practical features that can be implemented; this point can be referred to as "feature saturation".

Decline[edit]

Obsolescence is a primary cause of decline, as time and technology advance beyond the capabilities/value of the incumbent market segment's leading technology. The portable music player platform of the '80s was cassette; of the '90s it was CD; in the 2000s the platform was MP3; each successive platform shift effectively rendering the previous platform outdated.

Characteristics[edit]

Feature creep is one of the most common sources of cost and schedule overruns.[2][verification needed] It thus endangers and can even kill products and projects.

Control[edit]

There are several methods to control feature creep, including: strict limits for allowable features, multiple variations, and pruning excess features.

Temptation of later feature creep may be avoided to some degree by basing initial design on strong software fundamentals, such as logical separation of functionality and data access. It can be actively controlled with rigorous change management and by delaying changes to later delivery phases of a project.[3]

Another method of controlling feature creep is to maintain multiple variations of products, where features are kept limited in some variations. Because the ever-growing, ever-expanding addition of new features might exceed available resources, a minimal core "basic" version of a product can be maintained separately, to ensure operation in smaller operating environments. Using the "80/20 Rule" the more basic product variations might support the needs of about "80%" of the users, so they would not be subjected to the complexity (or extra expense) of features requested by the other 20% of users. The extra features are still available, but they have not crept into all versions of the products.

At some point, the cost of maintaining a particular subset of features might become prohibitive, and pruning can be used. A new product version could simply omit the extra features, or perhaps a transition period would be used, where old features were deprecated before eventual removal from the system. If there are multiple variations of products, then some of them might be phased out of use.

Consequences[edit]

Occasionally, uncontrolled feature creep can lead to products far beyond the scope of what was originally intended. For example, the video game The Elder Scrolls: Arena was originally intended to be a "medieval style gladiator game",[4] however due to feature creep the game quickly expanded into a large open role-playing game, spawning several sequels. Another example of this is the game Shogun: Total War, which was originally intended to be simply a "B-grade"[5] combat simulation game, but also expanded to produce multiple sequels. Microsoft's Windows Vista was planned to be a minor release between Windows XP and then the codenamed Windows "Blackcomb" (Windows 7), but it turned out to become a major release which took 5 years of development. However, a more common consequence of feature creep is a delay or cancellation of the product, which almost invariably becomes more expensive than was originally intended.[citation needed] Double Fine Adventures' kickstarter project Broken Age is an example of a project being delayed by feature creep. Originally supposed to have a release date of October 2012, the first half of the game was released in January 2014 while the second half is planned to follow closer to April or May.[6]

See also[edit]

Related concepts[edit]

Mitigation[edit]

References[edit]

  1. ^ J.M. Sullivan (8–10 June 2005), "Impediments to and incentives for automation in the Air Force", 2005 International Symposium on Technology and Society: 101–110, doi:10.1109/ISTAS.2005.1452719 
  2. ^ Davis, F.D. and Venkatesh, V. (February 2004), "Toward preprototype user acceptance testing of new information systems: implications for software project management", IEEE Transactions on Engineering Management, 51 (IEEE Transactions on Engineering Management), issue 1 (1): 31, doi:10.1109/TEM.2003.822468, ISSN 0018-9391 
  3. ^ Kenneth S. Norton (2001), Applying Cross-Functional Evolutionary Methodologies to Web Development, paper in Web Engineering: Managing Diversity and Complexity of Web published by Springer, ISBN 3-540-42130-0 
  4. ^ Ted Peterson Interview I, By Morrowind Italia, 2001-04-09 - Planet Elder Scrolls
  5. ^ The Making of: Shogun: Total War, By Kieron Gillen, August 24th, 2007, Rock, Paper, Shotgun
  6. ^ Double Fine splits Broken Age in half to fund completion, By Kris Ligman, 2013-07-02, Gamasutra

External links[edit]