Hybrid software and system development in practice: waterfall, scrum, and beyond

Software and system development faces numerous challenges of rapidly changing markets. To address such challenges, companies and projects design and adopt specific development approaches by combining well-structured comprehensive methods and flexible agile practices. Yet, the number of methods and practices is large, and available studies argue that the actual process composition is carried out in a fairly ad-hoc manner. The present paper reports on a survey on hybrid software development approaches. We study which approaches are used in practice, how different approaches are combined, and what contextual factors influence the use and combination of hybrid software development approaches. Our results from 69 study participants show a variety of development approaches used and combined in practice. We show that most combinations follow a pattern in which a traditional process model serves as framework in which several fine-grained (agile) practices are plugged in. We further show that hybrid software development approaches are independent from the company size and external triggers. We conclude that such approaches are the results of a natural process evolution, which is mainly driven by experience, learning, and pragmatism.

[1]  Fabio Kon,et al.  The evolution of agile software development in Brazil , 2013, Journal of the Brazilian Computer Society.

[2]  Patrick Keil,et al.  Kategorisierung etablierter Vorgehensmodelle und ihre Verbreitung in der deutschen Software-Industrie , 2007 .

[3]  Peng Xu,et al.  Using Process Tailoring to Manage Software Development Challenges , 2008, IT Professional.

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

[5]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[6]  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.

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

[8]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[9]  Marco Kuhrmann,et al.  Systematic Software Development: A State of the Practice Report from Germany , 2015, 2015 IEEE 10th International Conference on Global Software Engineering.

[10]  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.

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

[12]  Delbert Dueck,et al.  Clustering by Passing Messages Between Data Points , 2007, Science.

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

[14]  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.

[15]  Michael I. Jordan,et al.  On Spectral Clustering: Analysis and an algorithm , 2001, NIPS.

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

[17]  Philipp Diebold,et al.  The Right Degree of Agility in Rich Processes , 2016 .

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

[19]  Capers Jones Variations in Software Development Practices , 2003, IEEE Softw..

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

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

[22]  Richard E. Fairley,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0 , 2014 .

[23]  Vahid Garousi,et al.  Hybrid Software and System Development in Practice , 2018, Software Engineering.

[24]  Colin J. Neill,et al.  Requirements Engineering: The State of the Practice , 2003, IEEE Softw..

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