Feature creep
Feature creep
Main page

Feature creep

logo
Community Hub0 subscribers
What are your thoughts?
Be the first to start a discussion here.
Be the first to start a discussion here.
Feature creep

Feature creep is the excessive ongoing expansion or addition of new features in a product, especially in computer software, video games (where it should not be confused with power creep) and consumer and business electronics. These extra features go beyond the basic function of the product and can result in software bloat and over-complication, rather than simple design.

The definition of what qualifies as "feature creep" varies among end users, where what is perceived as such by some users may be considered practical functionality by others. Feature creep is considered the most common sources of cost and schedule overruns. It thus endangers and can even kill products and projects.

Feature creep may arise from the desire to provide the consumer with a more useful or desirable product in order to increase sales or distribution. Once a product does everything that it is designed to do, the manufacturer may add functions some users might consider unneeded (sometimes at the cost of efficiency) or continue with the original version (at the cost of a perceived lack of improvement).

Feature creep may also arise as a result of compromise from a committee implementing several different viewpoints or use cases in the same product, even for opportunistic reasons. As more features are added to support each approach, cross-conversion features between the multiple paradigms may further complicate the total features.

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

Later feature creep may be avoided by basing initial design on strong software fundamentals, such as logical separation of functionality and data access, e.g. using submenus that are optionally accessible by power users who desire more functionality and a higher verbosity of information. It can be actively controlled with rigorous change management and by delaying changes to later delivery phases of a project.

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 fulfill the needs of the majority (e.g. ~80%) of the users, so they would not be subjected to the complexity (or extra expense) of features requested by the advanced 20% of users. The extra features are still available, but optional and ready to be utilized for those who solicit them, but they have not been implemented into the basic versions of the products.

Another method of controlling feature creep is maintaining multiple variations of products, where features are limited and reduced in the more basic variations, e.g. Microsoft Windows editions. For software user interfaces, viewing modes or operation modes can be used (e.g. basic mode or expert mode), between which the users can select to match their own needs.

See all
User Avatar
No comments yet.