Agile product line engineering—a systematic literature review

Software Product Line Engineering (SPLE) demands upfront long‐term investment in (i) designing a common set of core‐assets and (ii) managing variability across the products from the same family. When anticipated changes in these core‐assets have been predicted with certain accuracy, SPLE has proved significant improvements. However, when large/complex software product line projects have to deal with changing market conditions, alternatives to supplement SPLE are required. Agile Software Development (ASD) may be an alternative, as agile processes harness change for the customer's competitive advantage. However, when the aim is to scale Agile projects up to effectively manage reusability and variability across the products from the same family, alternatives to supplement agility are also required. As a result, a new approach called Agile Product Line Engineering (APLE) advocates integrating SPLE and ASD with the aim of addressing these gaps. APLE is an emerging approach, which implies that organizations have to face several barriers to achieve its adoption. This paper presents a systematic literature review of experiences and practices on APLE, in which the key findings uncover important challenges about how to integrate the SPLE model with an agile iterative approach to fully put APLE into practice. Copyright © 2011 John Wiley & Sons, Ltd.

[1]  Frank Maurer,et al.  An Iterative Model for Agile Product Line Engineering , 2008, SPLC.

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

[3]  Frank Maurer,et al.  Linking Feature Models to Code Artifacts Using Executable Acceptance Tests , 2010, SPLC.

[4]  Jennifer Pérez,et al.  Software Product Line Engineering Approach for Enhancing Agile Methodologies , 2009, XP.

[5]  Geir K. Hanssen Agile software product line engineering , 2007 .

[6]  Mikko Raatikainen,et al.  Integrating product family modeling with development management in agile methods , 2008, SDG '08.

[7]  Linda Northrop Software Product Lines Essentials , 2008 .

[8]  Fergal McCaffery,et al.  An agile process model for product derivation in software product line engineering , 2012, J. Softw. Evol. Process..

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

[10]  David Kane,et al.  Introducing agile development into bioinformatics: an experience report , 2003, Proceedings of the Agile Development Conference, 2003. ADC 2003.

[11]  Kari Känsälä Good-Enough Software Process in Nokia , 2004, PROFES.

[12]  Juan Garbajosa Sopeña,et al.  Flexible working architectures: Agile architecting using PPCs. , 2010 .

[13]  Paul Grünbacher,et al.  Agile product line planning: A collaborative approach and a case study , 2008, J. Syst. Softw..

[14]  Pekka Abrahamsson,et al.  XP Workshop on Agile Product Line Engineering , 2009, XP.

[15]  Frank Maurer,et al.  A Test-Driven Approach to Establishing & Managing Agile Product Lines , 2008, SPLC.

[16]  Trond Johansen Using Evolutionary Project Management (Evo) to Create Faster, More Userfriendly and More Productive Software. Experience Report from FIRM AS, a Norwegian Software Company , 2005, PROFES.

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

[18]  Reidar Conradi,et al.  Software Entropy in Agile Product Evolution , 2010, 2010 43rd Hawaii International Conference on System Sciences.

[19]  Richard F. Paige,et al.  Agile Security Using an Incremental Security Architecture , 2005, XP.

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

[21]  Geir Kjetil Hanssen,et al.  Process fusion: An industrial case study on agile software product line engineering , 2008, J. Syst. Softw..

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

[23]  Frank Maurer,et al.  Reactive Variability Management in Agile Software Development , 2010, 2010 Agile Conference.

[24]  Joseph W. Yoder Workshop on Software Reuse and Agile Approaches , 2002, ICSR.

[25]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[26]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[27]  Frank Maurer,et al.  Extreme Product Line Engineering: Managing Variability and Traceability via Executable Specifications , 2009, 2009 Agile Conference.

[28]  Richard F. Paige,et al.  Towards an Agile Process for Building Software Product Lines , 2006, XP.

[29]  Muhammad Ali Babar,et al.  An industrial case of exploiting product line architectures in agile software development , 2009, SPLC.

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

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

[32]  Martin Verlage,et al.  The Economic Impact of Product Line Adoption and Evolution , 2002, IEEE Softw..

[33]  Frank Maurer,et al.  Extreme Product Line Engineering - Refactoring for Variability: A Test-Driven Approach , 2010, XP.

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

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

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

[37]  Vijayan Sugumaran,et al.  Integrating Software Product Line Engineering and Agile Development , 2010, IEEE Software.

[38]  Pasi Kuvaja,et al.  Managing Flexibility and Variability , 2009 .

[39]  Louis J. M. Taborda The Release Matrix for Component-Based Software Systems , 2004, CBSE.

[40]  Geir Kjetil Hanssen,et al.  Opening up software product line engineering , 2010, PLEASE '10.

[41]  Shane Warden,et al.  The art of agile development , 2007 .

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

[43]  Iris Groher,et al.  Transitioning to a software product family approach - challenges and best practices , 2006, 10th International Software Product Line Conference (SPLC'06).

[44]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[45]  Ioannis Stamelos,et al.  Product Line Variability with Elastic Components and Test-Driven Development , 2008, 2008 International Conference on Computational Intelligence for Modelling Control & Automation.

[46]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[47]  Ralf Carbon,et al.  Providing Feedback from Application to Family Engineering - The Product Line Planning Game at the Testo AG , 2008, 2008 12th International Software Product Line Conference.

[48]  Yan Tang,et al.  Developing a survey to collect expertise in agile product line requirements engineering processes , 2007 .

[49]  Jennifer Pérez,et al.  Plastic Partial Components: A solution to support variability in architectural components , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[50]  John McGregor,et al.  Mix and Match , 2008, J. Object Technol..

[51]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[52]  Sergiu M. Dascalu,et al.  A product-line architecture for web service-based visual composition of web applications , 2008, J. Syst. Softw..

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

[54]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[55]  Xavier Franch,et al.  APLE 1st International Workshop on Agile Product Line Engineering , 2006, 10th International Software Product Line Conference (SPLC'06).

[56]  John McGregor It depends on what you mean by 'working' , 2008, J. Object Technol..

[57]  Pekka Abrahamsson,et al.  A report on the XP workshop on agile product line engineering , 2009, SOEN.

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

[59]  Paul Grünbacher,et al.  A Collaborative Method for Reuse Potential Assessment in Reengineering-Based Product Line Adoption , 2008, CEE-SET.