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

5 Conclusion

Once adopted successfully, software product families provide a considerable benefit for software R&D organizations. However, achieving the successful adoption proves, in many organizations, to be non-trivial. Our claim is that this is due to the mismatch between the optimal and applied approach to the development, evolution and use of shared product family artefacts. The mismatch may lead to several problems, such as the mismatch between shared components and product needs, high level of design erosion and complex interfaces of shared components, high degree of “organizational noise”, inefficient knowledge management, ripple effects through the R&D organization due to component evolution and incorrect assumptions about the value of shared components.

To address these problems, we have presented five decision dimensions that are of relevance to the development of shared components, i.e. feature selection, architecture harmonisation, R&D organization, funding model and shared component scoping. For each dimension, we have presented three alternatives.

These dimensions are used in a decision framework that describes the preferred alternative for each stage in the adoption of software product families. We recognize three main stages in product family adoption, i.e. early successes, increasing scope and increasing maturity. In the table below, the stages and the preferred alternatives are presented.

Early successes
Increasing scope
Increasing maturity
Feature selection New, but common features Existing, but evolving, components All components
Architecture harmonisation Component-centric Iterative product architecture harmonisation Revolutionary architecture adoption
R&D organization Mixed responsibility for product teams Virtual component teams Component units
Funding “Barter” Taxation Licensing
Shared component scoping Only common features Complete components with plug-ins Encompassing component

The contribution of this paper is that we present a framework for deciding the optimal model for organizing the development of shared components. In future work, we will add more detail to the model in terms of advantages, disadvantages and risks. In addition, we intend to add a number of industrial cases to the presentation of the decision framework to further illustrate and validate the decision framework.

Discussion Board
Development Tools
and Methods for
Software Product Lines

Special Seminar

from Telelogic and
BigLever Software.
MDD for Software Product Lines