What Makes Agile Software Development Agile?

Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders’ collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by their creator(s), software processes in practice mutate into hybrids over time. Are these still agile? In this article, we investigate the question: what makes a software development method agile? We present an empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility. Based on 556 data points, we analyze the perceived degree of agility in the implementation of standard project disciplines and its relation to used development methods and practices. Our findings suggest that only a small number of participants operate their projects in a purely traditional or agile manner (under 15%). That said, most project disciplines and most practices show a clear trend towards increasing degrees of agility. Compared to the methods used to develop software, the selection of practices has a stronger effect on the degree of agility of a given discipline. Finally, there are no methods or practices that explicitly guarantee or prevent agility. We conclude that agility cannot be defined solely at the process level. Additional factors need to be taken into account when trying to implement or improve agility in a software company. Finally, we discuss the field of software process-related research in the light of our findings and present a roadmap for future research.

Mario Piattini | Stefan Biffl | Ezequiel Scott | Maleknaz Nayebi | Michael Felderer | Fergal McCaffery | Dietmar Pfahl | Tayana Conte | Dietmar Winkler | Jil Klünder | Regina Hebig | Paolo Tell | Marco Kuhrmann | Joyce Nakatumba-Nabende | Stephan Krusche | Masud Fazal-Baqaie | Steffen Küpper | Sherlock A. Licorish | Christian R. Prause | Rafael Prikladnicki | Eray Tüzün | Kurt Schneider | Stephen G. MacDonell | Ulrik Pagh Schultz | David Raffo | Eric Knauss | Jürgen Münch | Ita Richardson | Marcela Genero | Craig Anslow | Fabio Calefato | Marcos Kalinowski | Sarah Beecham | Rogardt Heldal | Paul Clarke | Rolf-Helge Pfeiffer | Stefan Sauer | Oliver Linssen | Diego Fontdevila | Maria Cecilia Bastarrica | Ahmet Coşkunçay | Aurora Vizcaino | Özden Özcan-Top | Svetlana Pimonova | Nicolas Paez | Gustavo López | Günther Ruhe | Paul M. Clarke | D. Winkler | S. Biffl | Maleknaz Nayebi | Dietmar Pfahl | A. Vizcaíno | Fabio Calefato | Ita Richardson | E. Knauss | F. McCaffery | M. Piattini | D. Raffo | Jürgen Münch | M. Genero | Stefan Sauer | K. Schneider | M. Felderer | U. Schultz | Sarah Beecham | M. C. Bastarrica | Rogardt Heldal | M. Kuhrmann | J. Klünder | M. Kalinowski | Ezequiel Scott | Stephan Krusche | Diego Fontdevila | Eray Tüzün | J. Nakatumba-Nabende | Özden Özcan-Top | C. Anslow | R. Hebig | Paolo Tell | Oliver Linssen | Ahmet Coşkunçay | R. Pfeiffer | R. Prikladnicki | T. Conte | G. López | Nicolás Paez | Steffen Küpper | Günther Ruhe | S. Pimonova | Masud Fazal-Baqaie | M. Bastarrica | Marcos Kalinowski | Aurora Vizcaíno | J. Nakatumba‐Nabende

[1]  Joyce Nakatumba-Nabende,et al.  Agile Islands in a Waterfall Environment: Challenges and Strategies in Automotive , 2020, EASE.

[2]  Ivar Jacobson,et al.  Where's the Theory for Software Engineering? , 2012, IEEE Software.

[3]  Michael A. Cusumano,et al.  Software Development Worldwide: The State of the Practice , 2003, IEEE Softw..

[4]  Torgeir Dingsøyr,et al.  A decade of agile methodologies: Towards explaining agile software development , 2012, J. Syst. Softw..

[5]  Asif Gill,et al.  An evaluation of the degree of agility in six agile methods and its applicability for method engineering , 2008, Inf. Softw. Technol..

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

[7]  Hans van Vliet,et al.  When agile meets the enterprise , 2013, Inf. Softw. Technol..

[8]  Christian Berger,et al.  Agile Model-Driven Engineering in Mechatronic Systems - An Industrial Case Study , 2014, MoDELS.

[9]  George Mangalaraj,et al.  Challenges of migrating to agile methodologies , 2005, CACM.

[10]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[11]  Stefan Wagner,et al.  What Do Practitioners Vary in Using Scrum? , 2015, XP.

[12]  Vahid Garousi,et al.  Closing the Gap Between Software Engineering Education and Industrial Needs , 2018, IEEE Software.

[13]  Daniel E. Turk,et al.  Drivers of agile software development use: Dialectic interplay between benefits and hindrances , 2012, Inf. Softw. Technol..

[14]  Manfred Broy,et al.  Flexible software process lines in practice: A metamodel-based approach to effectively construct and manage families of software process models , 2016, J. Syst. Softw..

[15]  Christian R. Prause,et al.  Architectural design and documentation: Waste in agile development? , 2012, 2012 International Conference on Software and System Process (ICSSP).

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

[17]  W. Royce Managing the development of large software systems: concepts and techniques , 2021, ICSE '87.

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

[19]  Onur Demirörs,et al.  Evaluation of Agility Assessment Tools: A Multiple Case Study , 2016, SPICE.

[20]  Kai Petersen,et al.  Prioritizing agile benefits and limitations in relation to practice usage , 2016, Software Quality Journal.

[21]  Ita Richardson,et al.  Plan-Driven Approaches Are Alive and Kicking in Agile Global Software Development , 2019, 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[22]  Rory V. O'Connor,et al.  Continuous software engineering—A microservices architecture perspective , 2017, J. Softw. Evol. Process..

[23]  Rory V. O'Connor,et al.  A Complexity Theory Viewpoint on the Software Development Process and Situational Context , 2016, 2016 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[24]  Regina Hebig,et al.  Why do Software Teams Deviate from Scrum?: Reasons and Implications , 2020, ICSSP.

[25]  Magnus C. Ohlsson,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

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

[27]  Eray Tüzün,et al.  Towards Unified Software Project Monitoring for Organizations using Hybrid Processes and Tools , 2019, 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[28]  Ashley Aitken,et al.  A Comparative Analysis of Traditional Software Engineering and Agile Software Development , 2013, 2013 46th Hawaii International Conference on System Sciences.

[29]  S. Balaji,et al.  WATEERFALLVs V-MODEL Vs AGILE: A COMPARATIVE STUDY ON SDLC , 2012 .

[30]  Klaas-Jan Stol,et al.  Scaling agile methods to regulated environments: An industry case study , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[31]  Tore Dybå,et al.  What Do We Know about Agile Software Development? , 2009, IEEE Software.

[32]  Harlan D. Mills,et al.  Trace: Tennessee Research and Creative Exchange Management of Software Engineering, the -part I: Principles of Software Engineering Recommended Citation , 2022 .

[33]  Marco Kuhrmann,et al.  Is Water-Scrum-Fall Reality? On the Use of Agile and Traditional Development Practices , 2015, PROFES.

[34]  Vahid Garousi,et al.  Hybrid software and system development in practice: waterfall, scrum, and beyond , 2017, ICSSP.

[35]  Rory V. O'Connor,et al.  The situational factors that affect the software development process: Towards a comprehensive reference framework , 2012, Inf. Softw. Technol..

[36]  Fergal McCaffery,et al.  Barriers to Adopting Agile Practices When Developing Medical Device Software , 2012, SPICE.

[37]  Andrew Begel,et al.  Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[38]  Jil Klünder,et al.  Walking Through the Method Zoo: Does Higher Education Really Meet Software Industry Demands? , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET).

[39]  John Noll,et al.  How Agile Is Hybrid Agile? An Analysis of the HELENA Data , 2019, PROFES.

[40]  Jürgen Münch,et al.  Determining Context Factors for Hybrid Development Methods with Trained Models , 2020, 2020 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[41]  Dietmar Pfahl,et al.  What are Hybrid Development Methods Made Of? An Evidence-Based Characterization , 2019, 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[42]  Rory V. O'Connor,et al.  In search of the origins and enduring impact of Agile software development , 2018, ICSSP.

[43]  Igor Steinmacher,et al.  Understanding Development Process of Machine Learning Systems: Challenges and Solutions , 2019, 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[44]  Dan X. Houston Agility beyond software development , 2014, ICSSP 2014.

[45]  Lucas Gren,et al.  Group-Development Psychology Training: The Perceived Effects on Agile Software-Development Teams , 2019, IEEE Software.

[46]  Marco Kuhrmann,et al.  On the use of hybrid development approaches in software and systems development: construction and test of the HELENA survey , 2016, Vorgehensmodelle.

[47]  Julian M. Bass,et al.  A Study of the Scrum Master's Role , 2017, PROFES.

[48]  Jil Klünder,et al.  Communication in Teams - An Expression of Social Conflicts , 2016, HCSE/HESSD.

[49]  Eric Knauss,et al.  Safety-Critical Systems and Agile Development: A Mapping Study , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[50]  Rory V. O'Connor,et al.  An Investigation of Software Development Process Terminology , 2016, SPICE.

[51]  Peng Liang,et al.  A systematic mapping study on the combination of software architecture and agile development , 2016, J. Syst. Softw..

[52]  Barry W. Boehm,et al.  Management challenges to implementing agile processes in traditional development organizations , 2005, IEEE Software.

[53]  F. Bretz,et al.  Compatible simultaneous lower confidence bounds for the Holm procedure and other Bonferroni‐based closed tests , 2008, Statistics in medicine.

[54]  Jil Klünder,et al.  Helping Teams to Help Themselves: An Industrial Case Study on Interdependencies During Sprints , 2018, HCSE.

[55]  Marco Kuhrmann,et al.  SPI is Dead, isn't it? Clear the Stage for Continuous Learning! , 2019, 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[56]  Deborah J. Armstrong,et al.  Exploring the Relationship between Organizational Adoption Motives and the Tailoring of Agile Methods , 2014, 2014 47th Hawaii International Conference on System Sciences.

[57]  Paolo Tell,et al.  Is Scrum Fit for Global Software Engineering? , 2017, 2017 IEEE 12th International Conference on Global Software Engineering (ICGSE).

[58]  Barry W. Boehm,et al.  Using Risk to Balance Agile and Plan-Driven Methods , 2003, Computer.

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

[60]  Jil Klünder,et al.  Back to the future: origins and directions of the “Agile Manifesto” – views of the originators , 2018, Journal of Software Engineering Research and Development.

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

[62]  Regina Hebig,et al.  The changing balance of technology and process: A case study on a combined setting of model‐driven development and classical C coding , 2017, J. Softw. Evol. Process..

[63]  Lefteris Angelis,et al.  Investigating the applicability of Agility assessment surveys: A case study , 2014, J. Syst. Softw..

[64]  Eric Knauss,et al.  Challenges of Scaled Agile for Safety-Critical Systems , 2019, PROFES.

[65]  Maria Paasivaara,et al.  Adopting SAFe to Scale Agile in a Globally Distributed Organization , 2017, 2017 IEEE 12th International Conference on Global Software Engineering (ICGSE).

[66]  Michael Felderer,et al.  Catching up with Method and Process Practice: An Industry-Informed Baseline for Researchers , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).

[67]  Ove Armbrust,et al.  The right process for each context: objective evidence needed , 2011, ICSSP '11.

[68]  Gail C. Murphy,et al.  How does Machine Learning Change Software Development Practices? , 2021, IEEE Transactions on Software Engineering.

[69]  Rory V. O'Connor,et al.  Exploring the Relationship between Software Process Adaptive Capability and Organisational Performance , 2015, IEEE Transactions on Software Engineering.

[70]  Eric Knauss The Missing Requirements Perspective in Large-Scale Agile System Development , 2019, IEEE Software.

[71]  Jürgen Münch,et al.  Towards the statistical construction of hybrid development methods , 2020, J. Softw. Evol. Process..

[72]  Regina Hebig,et al.  Emerging and Changing Tasks in the Development Process for Machine Learning Systems , 2020, 2020 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[73]  Jil Klünder,et al.  Behavior-Driven Dynamics in Agile Development: The Effect of Fast Feedback on Teams , 2019, 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[74]  Vahid Garousi,et al.  A Survey of Software Engineering Practices in Turkey (extended version) , 2014, J. Syst. Softw..

[75]  Harald C. Gall,et al.  Software Engineering for Machine Learning: A Case Study , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).

[76]  Kai Petersen,et al.  Understanding the order of agile practice introduction: Comparing agile maturity models and practitioners' experience , 2019, J. Syst. Softw..

[77]  Muhammad Ali Babar,et al.  Agility and Architecture: Can They Coexist? , 2010, IEEE Softw..

[78]  Michael Dyer The Management of Software Engineering. Part IV: Software Development Practices , 1980, IBM Syst. J..

[79]  Laurie A. Williams,et al.  Have Agile Techniques been the Silver Bullet for Software Development at Microsoft? , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[80]  Charles W. Butler,et al.  Choice of Software Development Methodologies: Do Organizational, Project, and Team Characteristics Matter? , 2016, IEEE Software.