The changing balance of technology and process: A case study on a combined setting of model‐driven development and classical C coding

The increasing flexibility in industry leads to an ecosystem of change, affecting the balance of processes and technology as well as the developers who have to cope with the change. Furthermore, the change itself might impact the ability to use quantitative methods to learn from previous experience. The goal of this study is to better understand the ecosystem of mutual impacts and changes of process and technologies as well as how developers perceive a technology setting and deal with its change. Therefore, we conducted a case study at Ericsson, performing a series of interviews among 6 employees (senior developers and architects). We identified a time line of changes that happened over 7 years. A set of observations about the relation between processes and tooling, and observations about developer's perceptions of the technology settings, and their strategy to deal with these changing technology settings. We discuss how the observed change impacts the ability to perform quantitative evaluations of technology and processes. The findings show that a bad choice of technologies can lead to unexpected impact on team dynamics. Furthermore, change happens so regular that it needs to be considered when collecting data for a quantitative evaluation of, eg, productivity.

[1]  Håkan Burden,et al.  Comparing and contrasting model-driven engineering at three large companies , 2014, ESEM '14.

[2]  Timothy Lethbridge,et al.  Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals , 2008, MiSE '08.

[3]  Marco Kuhrmann,et al.  Software process improvement: a systematic mapping study on the state of the art , 2016, PeerJ Comput. Sci..

[4]  Miroslaw Staron,et al.  Adopting model driven software development in industry: a case study at two companies , 2006, MoDELS'06.

[5]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[6]  Michael Diaz,et al.  How Software Process Improvement Helped Motorola , 1997, IEEE Softw..

[7]  Bernhard Rumpe,et al.  Proceedings of the 2008 international workshop on Models in software engineering , 2008, ICSE 2008.

[8]  Michel R. V. Chaudron,et al.  The Impact of Model Driven Development on the Software Architecture Process , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[9]  Emilio Insfran,et al.  An Agile Method for Model-Driven Requirements Engineering , 2011, ICSEA 2011.

[10]  Tony Gorschek,et al.  Evaluation and Measurement of Software Process Improvement—A Systematic Literature Review , 2012, IEEE Transactions on Software Engineering.

[11]  Elmar Jürgens,et al.  Automatability of Coupled Evolution of Metamodels and Models in Practice , 2008, MoDELS.

[12]  Parastoo Mohagheghi,et al.  Where Is the Proof? - A Review of Experiences from Applying MDE in Industry , 2008, ECMDA-FA.

[13]  Félix García,et al.  Requirements and constructors for tailoring software processes: a systematic literature review , 2012, Software Quality Journal.

[14]  Jürgen Münch,et al.  Rationale modeling for software process evolution , 2009, Softw. Process. Improv. Pract..

[15]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[16]  Mohsen Asadi,et al.  MDA-Based Methodologies: An Analytical Survey , 2008, ECMDA-FA.

[17]  B SeamanCarolyn Qualitative Methods in Empirical Studies of Software Engineering , 1999 .

[18]  Håkan Burden,et al.  Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem? , 2013, MoDELS.

[19]  Gail C. Murphy,et al.  An exploratory study of forces and frictions affecting large-scale model-driven development , 2012, MODELS'12.

[20]  Holger Giese,et al.  On the complex nature of MDE evolution and its impact on changeability , 2017, Software & Systems Modeling.

[21]  A. Strauss,et al.  Grounded theory , 2017 .

[22]  Marco Kuhrmann,et al.  Realizing software process lines: insights and experiences , 2014, ICSSP 2014.

[23]  Mira Kajko-Mattsson,et al.  Developer-driven big-bang process transition from Scrum to Kanban , 2011, ICSSP '11.

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

[25]  Regina Hebig,et al.  On the need to study the impact of model driven engineering on software processes , 2014, ICSSP 2014.

[26]  Marco Kuhrmann,et al.  Criteria for software process tailoring: a systematic review , 2013, ICSSP 2013.

[27]  Miroslaw Staron,et al.  Evolution of Long-Term Industrial Meta-Models -- An Automotive Case Study of AUTOSAR , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[28]  Vinay Kulkarni,et al.  Early experience with agile methodology in a model-driven approach , 2011, MODELS'11.

[29]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[30]  Daniela E. Damian,et al.  Transition to model-driven engineering: what is revolutionary, what remains the same? , 2012, MODELS'12.

[31]  Regina Hebig,et al.  Lessons Learned from Co-Evolution of Software Process and Model-Driven Engineering , 2016 .

[32]  Mika Karaila,et al.  Evolution of a Domain Specific Language and its engineering environment-Lehman ’ s laws revisited , 2009 .

[33]  Dietmar Pfahl,et al.  Proceedings of the 2011 International Conference on Software and Systems Process , 2011 .