Product line adoption in industry: an experience report from the railway domain

The software system controlling a train is typically deployed on various hardware architectures and must process various signals across those deployments. The increase of such customization scenarios and the needed adherence of the software to various safety standards in different application domains has led to the adoption of product line engineering within the railway domain. This paper explores the current state-of-practice of software product line development within a team developing industrial embedded software for a train propulsion control system. Evidence is collected using a focus group session with several engineers and through inspection of archival data. We report several benefits and challenges experienced during product line adoption and deployment. Furthermore, we identify and discuss improvement opportunities, focusing mainly on product line evolution and test automation.

[1]  Michael Felderer,et al.  Reasoning about Research Quality Alignment in Software Engineering , 2019 .

[2]  Jouni Similä,et al.  Software Product Line Adoption - Guidelines from a Case Study , 2008, CEE-SET.

[3]  Thomas Grechenig,et al.  An experience report on the incremental adoption and evolution of an SPL in eHealth , 2010, PLEASE '10.

[4]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[5]  Glenn A. Bowen Document Analysis as a Qualitative Research Method , 2009 .

[6]  Muhammad Abbas,et al.  Variability Aware Requirements Reuse Analysis , 2020, 2020 IEEE/ACM 42nd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion).

[7]  Laura Lehtola,et al.  Using the focus group method in software engineering: obtaining practitioner and user experiences , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[8]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[9]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[10]  Reidar Conradi,et al.  Different Aspects of Product Family Adoption , 2003, PFE.

[11]  SherifKarma,et al.  Barriers to adoption of software reuse a qualitative study , 2003 .

[12]  Norihiko Matsuda Problems and suggestions for adopting product line software engineering from modification style development , 2004, 11th Asia-Pacific Software Engineering Conference.

[13]  Fatimah Sidi,et al.  A review of software product line adoption , 2013 .

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

[15]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[16]  M. Verlage,et al.  Five years of product line engineering in a small company , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[17]  Gorka Benguria,et al.  Introducing Software Product Line Engineering for Metal Processing Lines in a Small to Medium Enterprise , 2007, 11th International Software Product Line Conference (SPLC 2007).

[18]  Klaus Schmid,et al.  Applying Product Line Concepts in Small and Medium-Sized Companies , 2000, IEEE Software.

[19]  Zhenchang Xing,et al.  Incremental and iterative reengineering towards Software Product Line: An industrial case study , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[20]  Daniel Sundmark,et al.  Towards a Model-Driven Product Line Engineering Process: An Industrial Case Study , 2020, ISEC.

[21]  Yan Li,et al.  Enabling Automated Requirements Reuse and Configuration , 2019, SPLC.

[22]  T. M. J. Rakotomahefa,et al.  Analysis of a Small Company for Software Product Line Adoption — An Industrial Case Study , .

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

[24]  Frank Dordowsky,et al.  Adopting software product line principles to manage software variants in a complex avionics system , 2009, SPLC.

[25]  Silvio Romero de Lemos Meira,et al.  Adopting software product lines: A systematic mapping study , 2011 .

[26]  Mark Staples,et al.  Experiences adopting software product line development without a product line architecture , 2004, 11th Asia-Pacific Software Engineering Conference.

[27]  Igor Steinmacher,et al.  Students’ and Instructors’ Perceptions of Five Different Active Learning Strategies Used to Teach Software Modeling , 2019, IEEE Access.

[28]  Yan Li,et al.  Enabling automated requirements reuse and configuration , 2019, Software & Systems Modeling.

[29]  Serge Demeyer,et al.  An Exploratory Study on Migrating Single-Products towards Product Lines in Startup Contexts , 2019, VaMoS.

[30]  Cagatay Catal,et al.  Barriers to the adoption of software product line engineering , 2009, SOEN.

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

[32]  Daniel Sundmark,et al.  Model-based product line engineering in an industrial automotive context: an exploratory case study , 2018, SPLC.

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

[34]  Mehrdad Saadatmand,et al.  Excellence in variant testing , 2020, VaMoS.

[35]  Veronika Bauer,et al.  Challenges of Structured Reuse Adoption - Lessons Learned , 2015, PROFES.

[36]  Liam O'Brien,et al.  Identifying Issues and Concerns in Software Reuse in Software Product Lines , 2009, ICSR.

[37]  R. Breen,et al.  A Practical Guide to Focus-Group Research , 2006 .

[38]  Ajay S. Vinze,et al.  Barriers to adoption of software reuse: A qualitative study , 2003, Inf. Manag..

[39]  Silvio Romero de Lemos Meira,et al.  Software product lines adoption in small organizations , 2017, J. Syst. Softw..

[40]  Laura Lehtola,et al.  The Focus Group Method as an Empirical Tool in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.