Feature creep is the excessive ongoing expansion or addition of new features in a product, especially in computer software, video games 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 one of 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.
Another method of controlling feature creep is maintaining multiple variations of products, where features are limited and reduced in the more basic variations, e.
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Software bloat is a process whereby successive versions of a computer program become perceptibly slower, use more memory, disk space or processing power, or have higher hardware requirements than the previous version, while making only dubious user-perceptible improvements or suffering from feature creep. The term is not applied consistently; it is often used as a pejorative by end users (bloatware) to describe undesired user interface changes even if those changes had little or no effect on the hardware requirements.
The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to minimalist, modular software development. It is based on the experience of leading developers of the Unix operating system. Early Unix developers were important in bringing the concepts of modularity and reusability into software engineering practice, spawning a "software tools" movement.
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. In November 2017, Firefox began incorporating new technology under the code name "Quantum" to promote parallelism and a more intuitive user interface. Firefox is available for Windows 7 or later versions, macOS, and Linux.