Design and Feature Set
In systems engineering, a requirement (often referred to as a functional requirement) can be a description of what a system must do. Another type of requirement specifies something about the system itself, and how well it performs its functions. Such requirements are often called non-functional requirements, performance requirements. or quality of service requirements. Examples of such requirements include usability, availability, reliability, supportability, testability, and maintainability. These requirements define the characteristics or features of the desired product during the design process .
Product Features
Features must meet usability and reliability requirements before being built into products and systems.
Product Design Process
Product design involves developing a device, assembly, or system into an item for sale using a production manufacturing process. During product design, engineers and designers must consider factors such as cost, producibility, quality, performance, reliability, serviceability, and user features. A product must go through the design and development of its mechanical, electronics, and software components before transitioning to manufacturing for mass production.
For example, the development of digital cameras would include defining the feature set; designing the optics, as well as the mechanical and ergonomic aspects of the packaging; developing the electronics that control the various components; and developing the software that allows users to view and manipulate photos, store them to memory, and download to them to a computer.
Dangers Of Feature Creep
Customer demand for particular features or functionality can result in products tailored to very specific, niche markets. However, manufacturers must be cognizant of feature creep, which is the ongoing expansion or addition of new features in a product. Although providing consumers more useful or desirable products and increasing sales are priorities for most businesses, extra features going beyond product function can result in over-complication.
Once products reach the stage of maximum functionality, manufacturers face the choice of adding extraneous functions, sometimes at the cost of efficiency. On the other hand, the manufacturer must deal with ignoring older versions at the cost of being perceived by the market as stagnant or dated. Nevertheless, introducing a bloated feature set can move the product or system beyond its initial goals, increasing production costs and schedule overruns. Introducing too many requirements into a feature set has often been blamed for endangering and even killing products and projects.
Another major cause of feature creep might be a compromise from a committee which decides to implement multiple, different viewpoints in the same product. 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.
Feature Control In Product Design
To control the number of product features during the design phase, manufacturers set strict limits for allowable features and multiple variations. Excess features are removed or delayed until the later delivery phases of the project. Quality control is also maintained through multiple variations of products, where features are kept limited in some versions. Because the ever-growing, ever-expanding addition of new features might exceed available resources, a minimal "basic" version of a product can be maintained separately to ensure operation in smaller operating environments.
Other companies might use the "80/20 Rule", where more basic product variations might support the needs of about "80%" of the users. Thus, the bulk of end-users are not subjected to the complexity (or extra expense) of features requested by the remaining 20% of users. These extra features are still available, but may be available in only select versions of the products.