| |
Feature creep
feature creep (requirements creep or scope creep)
Feature creep
Feature creep is the ongoing expansion or addition of new features in a product, such as in computer software or any other product.
Feature creep (also known as requirements creep or scope creep) is a tendency for product or project requirements to increase during development beyond those originally foreseen. Feature creep may be driven by a client's growing "wish list" or by developers themselves as they see opportunity for improving the product.
Extra features can result in software bloat which is contrast to simple design.
Successful product development teams focus on their original product requirements and don’t let scope and feature creep derail their schedule and financial goals.
-------------------------- Product requirements -------------------------- It is extremely important that a program is initiated with a formal phase of documenting the software requirements. These requirements are driven by the end user group and require in depth research to determine exactly what the users wants and needs to accomplish. Once the customer&marketing requirements are documented, the engineering team can translate these marketing requirements into engineering requirements and the list of FEATURES. This allows the engineering team to initiate their work and begin DESIGN. When features are changed or new features are introduced, the engineering team needs to revisit the engineering requirements document and rework many of the designs and qualification tests already performed.
---------------------- Focus on priorities. ---------------------- There is always a trade off that cannot be ignored between: - cost - schedule/time - features/scope
Which features are most essential to be included in this iteration, and what can be left these for the next product iteration -- is the essential question to be answered.
The cost constraint refers to the budgeted amount available for the project. The time constraint refers to the amount of time available to complete a project. The scope constraint refers to what must be done to produce the project’s end result. These three constraints are often competing constraints: increased scope typically means increased time and increased cost, a tight time constraint could mean increased costs and reduced scope, and a tight budget could mean increased time and reduced scope.
In first alpha release it is essential to deliver to some extent working software with reduced functionality and essential features only. Cutting functionality may seem a drastic measure, but good project manager will happily throw away functionality. As long as the core requirements remain functional and WITHOUT BUGS, everything will be fine. Additional functionality can always go into "the next release" but if you don't deliver the core functionality, there won't be a next release.
DO NOT ADD NEW FEATURES to code base if there are some known bugs, glitches or code-readability issues.
---------------------- Expansion of scope ---------------------- Uncontrolled feature creep can lead to products far beyond the scope of what was originally intended. Bloat is common consequence of feature creep. The result is a delay or cancellation of the product, which almost invariably becomes more expensive than was originally intended and often too complicated.
|
|