Towards a product derivation process reference model for software product line organisations

The derivation of individual products from a software product line is still seen as a timeconsuming and expensive activity in many organisations. Despite recognition that an effective derivation process could alleviate many of the difficulties associated with product derivation, little work has been dedicated to this area. Existing approaches have very different scope and emphasise different aspects of the derivation process. Furthermore, they are frequently too specialised to a specific development technique to serve as a general solution. This leaves organisations with no centralised starting point for defining an approach to product derivation. Accordingly there is a strong need for a structured approach to product derivation which defines activities, tasks, roles, inputs and outputs of each step in a structured and systematic way. Through a series of research stages using sources in industry and academia, this research has developed a process reference model for product derivation (Pro-PD). Pro-PD focuses on the essential activities, tasks, roles and work products used to derive products from a software product line. Pro-PD is an adaptable approach and can be tailored to suit different process environments.

[1]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[2]  Ita Richardson,et al.  Developing a product derivation process framework for software product line organisataions , 2008 .

[3]  Fergal Mc Caffery,et al.  Towards Agile Product Derivation in Software Product Line Engineering , 2009 .

[4]  L. Hotz,et al.  A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development ( Position paper ) , 2003 .

[5]  Krzysztof Czarnecki,et al.  Generative and component-based software engineering : first International Symposium, GCSE '99, Erfurt, Germany, September 28-30, 1999 : revised papers , 2000 .

[6]  Ita Richardson,et al.  Towards a product derivation process framework , 2008 .

[7]  John W. Daly,et al.  Multi-method research: An empirical investigation of object-oriented technology , 1999, J. Syst. Softw..

[8]  Klaus Pohl,et al.  Software product line testing , 2006, CACM.

[9]  Muhammad Ali Babar,et al.  Product derivation process and agile approaches:exploring the integration potential , 2007 .

[10]  Iris Reinhartz-Berger,et al.  A Domain Engineering Approach to Specifying and Applying Reference Models , 2005, EMISA.

[11]  Allen S. Lee A Scientific Methodology for MIS Case Studies , 1989, MIS Q..

[12]  Susan Elliott Sim,et al.  Case studies for software engineers , 2005, Proceedings. 26th International Conference on Software Engineering.

[13]  M. A. Noor,et al.  A Collaborative Approach for Reengineering-based Product Line Scoping , 2006 .

[14]  C. Seale,et al.  Quality in Qualitative Research , 1999 .

[15]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[16]  Michael Quinn Patton,et al.  How to use qualitative methods in evaluation , 1987 .

[17]  Rick Rabiser Flexible and User-Centered Visualization Support for Product Derivation , 2008, SPLC.

[18]  John McGregor Agile Software Product Lines, Deconstructed , 2008, J. Object Technol..

[19]  Linda M. Northrop SEI's Software Product Line Tenets , 2002, IEEE Softw..

[20]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[21]  Ita Richardson,et al.  Important issues and key activities in product derivation: experiences from two independent research projects , 2009, SPLC.

[22]  Kathleen M. Eisenhardt,et al.  Control: Organizational and Economic Approaches , 1985 .

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

[24]  Jacques Klein,et al.  Reconciling Automation and Flexibility in Product Derivation , 2008, 2008 12th International Software Product Line Conference.

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

[26]  Marco Sinnema,et al.  Experiences in Software Product Families: Problems and Issues During Product Derivation , 2004, SPLC.

[27]  Robert Winter,et al.  Reference modeling and method construction: a design science perspective , 2006, SAC.

[28]  Peter Fettke,et al.  Reference Modeling for Business Systems Analysis , 2006 .

[29]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[30]  Soo Dong Kim,et al.  DREAM: a practical product line engineering using model driven architecture , 2005, Third International Conference on Information Technology and Applications (ICITA'05).

[31]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[32]  Harris Cooper,et al.  The Integrative Research Review: A Systematic Approach , 1984 .

[33]  John D. McGregor,et al.  Initiating software product lines , 2002, IEEE Software.

[34]  Marco Sinnema,et al.  Industrial validation of COVAMOF , 2008, J. Syst. Softw..

[35]  Klaus Schmid,et al.  Product Line Engineering: The State of the Practice , 2003, IEEE Softw..

[36]  Marie McGinn,et al.  An Introduction to Contemporary Epistemology , 1985 .

[37]  Klaus Schmid,et al.  Introducing the puLSE approach to an embedded system population at testo AG , 2005, ICSE.

[38]  Paul Grünbacher,et al.  Supporting Product Derivation by Adapting and Augmenting Variability Models , 2007 .

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

[40]  H. Dieter Rombach Fraunhofer: the German model for applied research and technology transfer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

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

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

[43]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[44]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[45]  M. Mari,et al.  Quality-Driven Architecture Design Method , 2002 .

[46]  John D. McGregor Preparing for Automated Derivation of Products in a Software Product Line , 2005 .

[47]  Daniel Hoffman,et al.  Software product lines: a case study , 2000 .

[48]  Dirk Muthig,et al.  PuLSE-I: Deriving instances from a product line infrastructure , 2000, Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).

[49]  Marco Sinnema,et al.  Modeling dependencies in product families with COVAMOF , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[50]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[51]  Maurizio Morisio,et al.  Success and Failure Factors in Software Reuse , 2002, IEEE Trans. Software Eng..

[52]  R. Jacobs What to research , 2009 .

[53]  Geoff Walsham,et al.  Interpreting Information Systems in Organizations , 1993 .

[54]  Luiz Fernando Capretz,et al.  Software Product Lines: A Process Assessment Methodology , 2010 .

[55]  Martin L. Griss,et al.  Implementing Product-Line Features with Component Reuse , 2000, ICSR.

[56]  Javier Franch Gutiérrez,et al.  An approach to reconcile the agile and CMMI contexts in product line development , 2006 .

[57]  Klaus Pohl,et al.  Communicating the variability of a software-product family to customers , 2003, Software and Systems Modeling.

[58]  D. Silverman Interpreting Qualitative Data , 1993 .

[59]  P. Liamputtong Qualitative Research Methods , 2005 .

[60]  Daniel Robey,et al.  User Response to an Online Information System: A Field Experiment , 1986, MIS Q..

[61]  Roger Champagne,et al.  A Product Line Engineering Practices Model , 2004, Software Engineering Research and Practice.

[62]  Frederik Ahlemann,et al.  Process Model for an Empiracally Grounded Reference Model Construction , 2007 .

[63]  W. Humphrey,et al.  Software Process Modeling: Principles Of Entity Process Models , 1989, 11th International Conference on Software Engineering.

[64]  John W. Creswell,et al.  Research Design: Qualitative and Quantitative Approaches , 1997 .

[65]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[66]  Wanda J. Orlikowski,et al.  Studying Information Technology in Organizations: Research Approaches and Assumptions , 1991, Inf. Syst. Res..

[67]  Paul Grünbacher,et al.  Involving Non-Technicians in Product Derivation and Requirements Engineering: A Tool Suite for Product Line Engineering , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

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

[69]  Paul Grünbacher,et al.  Three-Level Customization of Software Products Using a Product Line Approach , 2009 .

[70]  John D. McGregor,et al.  Testing a Software Product Line , 2001, PSSE.

[71]  Marco Sinnema,et al.  The COVAMOF Derivation Process , 2006, ICSR.

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

[73]  Klaus Schmid,et al.  The Family Evaluation Framework , 2007 .

[74]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[75]  Ralf Carbon,et al.  Integrating Product Line Engineering and Agile Methods : Flexible Design Up-front vs . Incremental Design , 2006 .

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

[77]  Mari Matinlassi,et al.  Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA , 2004, Proceedings. 26th International Conference on Software Engineering.

[78]  Gary J. Chastek,et al.  Guidelines for Developing a Product Line Production Plan , 2002 .

[79]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[80]  A. Eberlein,et al.  Requirements Engineering for Software Product Lines , 2002 .

[81]  Katharina Wolter,et al.  Model-based Configuration Support for Product Derivation in Software Product Families , 2005 .

[82]  Patrick Donohoe,et al.  Product Line Production Planning for the Home Integration System Example , 2002 .

[83]  Marco Sinnema,et al.  COVAMOF: A Framework for Modeling Variability in Software Product Families , 2004, SPLC.

[84]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[85]  Mario Piattini,et al.  Software Product Line Testing - A Systematic Review , 2009, ICSOFT.

[86]  Henry Muccini,et al.  Towards Testing Product Line Architectures , 2003, TACoS.

[87]  R. Evered,et al.  Alternative Perspectives in the Organizational Sciences: “Inquiry from the Inside” and “Inquiry from the Outside” , 1981 .

[88]  Antonio Ruiz Cortés,et al.  Explanations for Agile Feature Models , 2006 .

[89]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[90]  M. Hammersley,et al.  Case Study Method: Key Issues, Key Texts , 2000 .

[91]  K. Cooper,et al.  Agile and Software Product Line Methods : Are They So Different ? , 2006 .

[92]  Deepak Dhungana,et al.  Integrated Support for Product Configuration and Requirements Engineering in Product Derivation , 2007, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007).

[93]  Nicolas Guelfi,et al.  A Flexible Requirements Analysis Approach for Software Product Lines , 2007, REFSQ.

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

[95]  Werner Esswein,et al.  Identifying the quality of e-commerce reference models , 2004, ICEC '04.

[96]  Linda M. Northrop,et al.  Adopting and Institutionalizing a Product Line Culture , 2002, SPLC.

[97]  Paul Clements,et al.  A framework for software product line practice - version 2 , 1999 .