Archetypical Approaches of Fast Software Development and Slow Embedded Projects

This paper describes the problem context of software development for mass-produced embedded systems, with distinguishing factors such as the co-design of software and hardware, strong focus on manufacturing aspects, supplier involvement and safety-critical functionality. In this context there is a need for a holistic model to explain the failures and successes industrial projects, where just investigating a single dimension, e.g. chosen ways-of-working or architecture is not sufficient. The main contribution is a holistic model consisting of five archetypical approaches to embedded software development, based on a mapping study over industrial cases in literature. The approaches range from "traditional" stage-gate projects focusing on product qualities and large integration efforts, to fast development in short loops by autonomous teams based on a compos able software platform. The model aligns the processes with the architecture of the embedded software, and the implications on the business and the organisation. The model allows an research & development(R&D) organisation to identify where it is positioned and to evolve its software development approach. The model is elucidated by two empirical cases from a Swedish company.

[1]  Capers Jones,et al.  Embedded Software: Facts, Figures, and Future , 2009, Computer.

[2]  Isabelle Mauclair,et al.  Media oriented systems transport (Most®) : L'apport de l'électronique automobile: Confort - Véhicule communicant , 2000 .

[3]  Brian Fitzgerald,et al.  A framework analysis of the open source software development paradigm , 2000, ICIS.

[4]  Jan Bosch,et al.  The changing industry structure of software development for consumer electronics and its consequences for software architectures , 2012, J. Syst. Softw..

[5]  Jakob Axelsson,et al.  Architecting complex embedded systems: An industrial case study , 2011, 2011 IEEE International Systems Conference.

[6]  Donald J. Reifer Ten Deadly Risks in Internet and Intranet Software Development , 2002, IEEE Softw..

[7]  Daniel Sundmark,et al.  An exploratory case study of testing in an automotive electrical system release process , 2011, 2011 6th IEEE International Symposium on Industrial and Embedded Systems.

[8]  Jakob Axelsson,et al.  Towards a process maturity model for evolutionary architecting of embedded system product lines , 2010, ECSA '10.

[9]  Eila Niemelä,et al.  Organizational evolution of digital signal processing software development , 2006, J. Softw. Maintenance Res. Pract..

[10]  Håkan Gustavsson,et al.  Architecting Automotive Product Lines: Industrial Practice , 2010, SPLC.

[11]  Kurt Schneider,et al.  Breaking the ice for agile development of embedded software: an industry experience report , 2004, Proceedings. 26th International Conference on Software Engineering.

[12]  Jakob Axelsson,et al.  Issues Related to Development of E/E Product Line Architectures in Heavy Vehicles , 2009, 2009 42nd Hawaii International Conference on System Sciences.

[13]  Ryan McGee,et al.  Stakeholder identification and quality attribute prioritization for a global Vehicle Control System , 2010, ECSA '10.

[14]  Per Runeson,et al.  Integrating agile software development into stage-gate managed product development , 2006, Empirical Software Engineering.

[15]  Martin Höst,et al.  A Qualitative Methodology for Tailoring SPE Activities in Embedded Platform Development , 2005, PROFES.

[16]  Tali Yatzkar-Haham,et al.  Using MDA for integration of heterogeneous components in software supply chains , 2010, Sci. Comput. Program..

[17]  Claes Wohlin,et al.  Alignment of Business, Architecture, Process, and Organisation in a software development context , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[18]  Kangtae Kim,et al.  Building Software Product Line from the Legacy Systems "Experience in the Digital Audio and Video Domain" , 2007 .

[19]  Jan Bosch,et al.  Climbing the "Stairway to Heaven": Evolving From Agile Development to Continuous Deployment of Software , 2014, Continuous Software Engineering.

[20]  Volker Gruhn,et al.  Analysing and enhancing business processes and IT-systems for mobile workforce automation: a framework approach , 2007, EATIS '07.

[21]  John A. Zachman,et al.  A Framework for Information Systems Architecture , 1987, IBM Syst. J..

[22]  Simon Fürst AUTOSAR – A Worldwide Standard is on the Road . , 2009 .

[23]  Orit Hazzan,et al.  Agility in a Large-Scale System Engineering Project: A Case-Study of an Advanced Communication System Project , 2010, 2010 IEEE International Conference on Software Science, Technology & Engineering.

[24]  Peter Liggesmeyer,et al.  Trends in Embedded Software Engineering emb ed de d soft war e , 2009 .

[25]  Bernhard Rumpe,et al.  Limitations of Agile Software Processes , 2014, ArXiv.

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

[27]  Maarit Laanti,et al.  Implementing Program Model with Agile Principles in a Large Software Development Organization , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[28]  David Goodman,et al.  "It's Not the Pants, it's the People in the Pants" Learnings from the Gap Agile Transformation What Worked, How We Did it, and What Still Puzzles Us , 2008, Agile 2008 Conference.

[29]  Jakob Axelsson Evolutionary architecting of embedded automotive product lines: An industrial case study , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[30]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[31]  Carl Magnus Olsson,et al.  A case study of the Architecture Business Cycle for an in-vehicle software architecture , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[32]  Jan Bosch,et al.  Eternal Embedded Software: Towards Innovation Experiment Systems , 2012, ISoLA.

[33]  Jürgen Dingel,et al.  Model Transformations for Migrating Legacy Models: An Industrial Case Study , 2012, ECMFA.

[34]  Teresa Brannick,et al.  In Defense of Being “Native”: The Case for Insider Academic Research , 2007 .

[35]  Kari Känsälä,et al.  Software Product Family Evaluation , 2004, SPLC.

[36]  Jan Bosch,et al.  Introducing Software Ecosystems for Mass-Produced Embedded Systems , 2012, ICSOB.

[37]  Philippe Kruchten,et al.  Contextualizing agile software development , 2013, J. Softw. Evol. Process..

[38]  Henrik Kniberg,et al.  Scrum and XP from the Trenches: Enterprise Software Development , 2007 .

[39]  Miroslaw Staron,et al.  Characterizing model usage in embedded software engineering: a case study , 2010, ECSA '10.

[40]  Jacques Lonchamp,et al.  A structured conceptual and terminological framework for software process engineering , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[41]  Jan Bosch,et al.  Applying Agile Development in Mass-Produced Embedded Systems , 2012, XP.

[42]  Brian S. Drummond,et al.  Agile at Yahoo! From the Trenches , 2009, 2009 Agile Conference.

[43]  Peter Liggesmeyer,et al.  Trends in Embedded Software Engineering , 2009, IEEE Software.

[44]  X. Olive,et al.  Gene-Auto: Automatic Software Code Generation for Real-Time Embedded Systems , 2008 .

[45]  Fuzhan Nasiri,et al.  Project agility assessment: an integrated decision analysis approach , 2008 .

[46]  Robert G. Cooper,et al.  Stage-gate systems: A new tool for managing new products , 1990 .

[47]  Sune Dueholm Müller,et al.  Managing Cultural Variation in Software Process Improvement: A Comparison of Methods for Subculture Assessment , 2008, IEEE Transactions on Engineering Management.