Product-family engineering

Product-family engineering can be defined as a method that creates an underlying architecture of an organization's product platform.

Product-family engineering is conceptually similar to the widespread use of vehicle platforms in the automotive industry.

Several studies have proven that using a product-family engineering approach for product development can have several benefits.

The three main phases are: The process has been modeled on a higher abstraction level.

This phase is responsible for outlining market strategies and defining a scope, which tells what should and should not be inside the product family.

During this first activity all context information relevant for defining the scope of the product line is collected and evaluated.

The activity should deliver a context document that contains guidelines, constraints and the product strategy.

This is based upon the previous step in the process, where external factors have been taken into account.

During the domain-engineering phases, the variable and common requirements are gathered for the whole product line.

This process step consists of activities for defining the reference architecture of the product line.

After successful testing of all components in different use cases and scenarios, the domain engineering phase has been completed.

Also the collection of common rules guiding the design, realisation of the parts, and how they are combined to form products.

Detailed design artifacts These include the different kinds of models that capture the static and dynamic structure of each component.

Table 1: List of concepts There are some good examples of the use of product family engineering, which were quite successful.

The abstract model of product family engineering allows different kinds of uses, most of them are related to the consumer electronics market.

Below an example is given of an application of the product line engineering process, based on a real experience of Nokia.

These products are sold all over the world, which makes it necessary to support many different languages and user interfaces.

A main problem here is that several different user interfaces must be supported, and because new products succeed each other very quickly, this should be done as efficiently as possible.

During the second phase, domain engineering, requirements are defined for the family, and for the individual types of phones, e.g., 6100/8300 series.

In this phase, the software requirements are made, which can serve as a base for the whole product family.

The requirements from the preceding phase are used to create individual software for the type of phone then being developed.

Figure 1: Process data diagram