Product derivation in software product families: a case study

From our experience with several organizations that employ software product families, we have learned that, contrary to popular belief, deriving individual products from shared software assets is a time-consuming and expensive activity. In this paper we therefore present a study that investigated the source of those problems. We provide the reader with a framework of terminology and concepts regarding product derivation. In addition, we present several problems and issues we identified during a case study at two large industrial organizations that are relevant to other, for example, comparable or less mature organizations.

[1]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.

[2]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[3]  Jean-Marc Jézéquel,et al.  Product line engineering: Product derivation , 2002 .

[4]  Frank van der Linden,et al.  Software Product Families in Europe: The Esaps & Café Projects , 2002, IEEE Softw..

[5]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[6]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[7]  Jan Bosch,et al.  Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization , 2002, SPLC.

[8]  Paul Clements,et al.  A Case Study in Successful Product Line Development , 1996 .

[9]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[10]  M. Crossan The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation , 1996 .

[11]  Rob C. van Ommering Building product populations with software components , 2002, ICSE '02.

[12]  Paul Clements,et al.  Control Channel Toolkit: A Software Product Line Case Study , 2001 .

[13]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[14]  Mehdi Jazayeri,et al.  Software Architecture for Product Families: Principles and Practice , 2000 .

[15]  Cristina Gacek,et al.  Implementing product line variabilities , 2001, SSR '01.

[16]  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).

[17]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[18]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[19]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[20]  Marco Sinnema,et al.  Model Driven Architecture as Approach to Manage Variability in Software Product Families , 2003 .

[21]  I. Nonaka,et al.  How Japanese Companies Create the Dynamics of Innovation , 1995 .

[22]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[23]  Jan Bosch,et al.  Product Instantiation in Software Product Lines: A Case Study , 2000, GCSE.

[24]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[25]  Harlan D. Mills,et al.  Management of Software Engineering, The , 1979 .

[26]  Martin Becker,et al.  On the Influence of Variabilities on the Application-Engineering Process of a Product Family , 2002, SPLC.

[27]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[28]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction, Second Edition , 2000 .

[29]  Daniel Hoffman,et al.  Software product lines: a case study , 2000, Softw. Pract. Exp..

[30]  David C. Gross,et al.  Managing Domain-Specific, Product-Line Development , 1996, IEEE Softw..

[31]  Nicolas Farcet,et al.  Expression and Usage of the Variability in the Software Product Lines , 2001, PFE.

[32]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[33]  Jan Bosch,et al.  Evolution in software product lines: Two cases , 1999 .

[34]  Klaus Schmid,et al.  Scoping software product lines: an analysis of an emerging technology , 2000 .

[35]  Philippe Kruchten,et al.  What Is the Rational Unified Process ? , 2001 .

[36]  E. QuinnanR. The management of software engineering , 1980 .

[37]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[38]  J Stebbins,et al.  Law of Diminishing Returns , 1944, Encyclopedia of Parallel Computing.

[39]  Takuya Katayama,et al.  A Method for Product Line Scoping Based on a Decision-Making Framework , 2002, SPLC.

[40]  W BoehmBarry A Spiral Model of Software Development and Enhancement , 1988 .

[41]  Ronald N. Kostoff,et al.  Science and technology roadmaps , 2001, IEEE Trans. Engineering Management.

[42]  Jan Bosch,et al.  The Evolution in Software Product Lines , 1999 .