Combining Different Product Line Models to Balance Needs of Product Differentiation and Reuse

Software reuse is a key enabler for producing successful software intensive consumer products. Initially, just adopting reuse was enough to achieve competitive advantage; today an efficiently running product line is almost expected for any organization producing widely varying, software intensive consumer products. The major source for competitive advantage has shifted to product line management, and especially an organization's ability to optimize the alignment of its product line development approach with its competitive strategy. In this paper, we explore ways to match product line development for an organization pursuing differentiation strategy. In this context, the success of the product line is determined by the success of the resulting products, their ability to gain differentiation against the competition as well as within the product portfolio. If all products appear too similar to each other, market segmentation fails. In this paper, we first discuss the problems hounding real industrial product lines. All the experiences are based on experiences gathered being closely involved with more than ten operating product lines and observing multiple failures in being able to realize true benefits of reuse. Then we show how a product line organization can be tuned so that the benefits of reuse are attainable while supporting significantly varying set of products. Finally, we give examples of product lines that have evolved into the direction suggested by us.

[1]  Jan Bosch,et al.  Software product lines: organizational alternatives , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[2]  Jan Bosch Software Product Families in Nokia , 2005, SPLC.

[3]  Jan Bosch The challenges of broadening the scope of software product families , 2006, CACM.

[4]  Jan Bosch,et al.  Widening the Scope of Software Product Lines - From Variation to Composition , 2002, SPLC.

[5]  Robyn R. Lutz Toward safe reuse of product family specifications , 1999, SSR '99.

[6]  Tomi Männistö,et al.  Identifying Key Requirements for a New Product Line , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[7]  Carma McClure,et al.  Software Reuse Techniques: Adding Reuse to the System Development Process , 1997 .

[8]  Rob C. van Ommering Software Reuse in Product Populations , 2005, IEEE Trans. Software Eng..

[9]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[10]  Jack Trout,et al.  Differentiate or Die: Survival in Our Era of Killer Competition , 2000 .

[11]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[12]  Wayne C. Lim Managing software reuse: a comprehensive guide to strategically reengineering the organization for reusable components , 1998 .

[13]  M. Porter Competitive Advantage: Creating and Sustaining Superior Performance , 1985 .

[14]  Tomi Männistö,et al.  Analyzing and Re-structuring Product Line Dependencies , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[15]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).