Software Product Family Variability: Essential Capabilities and Realization Aspects.
In: Proceedings of ICSE 2002 Workshop : 3rd Intl. Workshop on Software Product Lines – Economics, Architectures, and Implications.
Buchaufsatz / Kapitel / Fach: Wirtschaftswissenschaften
The development of software product families (in the following “product family”) has become much more important during the last years. The idea to implement products based on a common platform promises decreasing cost and time for producing customer specific products and the ability to react immediately to the market needs . Product family engineering can be characterized by two development processes: domain engineering and application engineering (cf. Figure 1). In domain engineering, the commonality and the variability of the product family is defined. Shared assets are implemented such that the commonality can be exploited during application engineering while preserving variability. During application engineering, individual products are ideally being developed by selecting and configuring shared assets resulting from the domain engineering. Regarding the products of a product family one can distinguish between product families designed for the derivation of standard products and product families designed for the derivation of customer specific individual products. Standard products are defined by a provider of the product family for a mass market, e.g., variants of mobile phones. In contrast, individual products are defined for one specific customer. Thus, requirements specific for this customer have to be considered when realizing a product under the product family. Whereas the number of individual products developed under a product family is typically high. In practice, often both product types are defined under one product family. However, the derivation process of standard and individual products differs largely. In the case of a standard product, the product is mainly defined based on market analysis and market prognoses