Home Introduction Getting Started Benefits Successes Perspectives Resources
What's New?

Advantages. As mentioned, there is typically little resistance against share these components. Also, the variability required from the shared component is well understood. In the case of multiple, evolving infrastructures that need to be supported, there can be a real benefit from having to evolve only one shared version of the component rather than multiple product specific ones.

Disadvantages. The product-specific component versions typically have existed for a long time and are often rather eroded. Consequently, the investment required for integrating the product-specific versions into one shared version may be substantial, whereas the benefit, in terms of reduced development effort, often is limited. Finally, COTS components may be or become available, removing the need for an internal component version.

3.1.2 Existing, but evolving, components

As a second starting point for the selection of components, one can focus on the product-specific components that have a relatively high change rate. Typically, these components implement features that are part of the competitive advantage of the products, but due to the quick evolution, there substantial maintenance cost are associated with these components.

Advantages. Assuming the changes are orthogonal to the product portfolio, a substantial reduction in maintenance cost can be achieved by merging the product specific components into one shared version. In addition, the required behaviour, although it is evolving, is understood reasonably well, simplifying the effort required.

Disadvantages. The main disadvantage is, obviously, first several product-specific versions of a component were developed that after a relatively short time are merged into a shared component, with the associated effort requirements. In addition, in the case that the evolution of the component is rather product-specific, the effort required for maintaining the shared component implementing the superset of features may be easily underestimated.

3.1.3 New, but common features

Finally, one may aim to develop shared components that implement currently unavailable functionality that is present on all or most product roadmaps. Rather than being reactive, the product family effort is proactive, developing shared components before the products need them.

Discussion Board
Development Tools
and Methods for
Software Product Lines

Special Seminar

from Telelogic and
BigLever Software.
MDD for Software Product Lines