Adopting Continuous Delivery and Deployment: Impacts on Team Structures, Collaboration and Responsibilities

Context: Continuous Delivery and Deployment (CD) practices aim to deliver software features more frequently and reliably. While some efforts have been made to study different aspects of CD practices, a little empirical work has been reported on the impact of CD on team structures, collaboration and team members' responsibilities. Goal: Our goal is to empirically investigate how Development (Dev) and Operations (Ops) teams are organized in software industry for adopting CD practices. Furthermore, we explore the potential impact of practicing CD on collaboration and team members' responsibilities. Method:We conducted a mixed-method empirical study, which collected data from 21 in-depth, semi-structured interviews in 19 organizations and a survey with 93 software practitioners. Results: There are four common types of team structures (i.e., (1) separate Dev and Ops teams with higher collaboration; (2) separate Dev and Ops teams with facilitator(s) in the middle; (3) small Ops team with more responsibilities for Dev team; (4) no visible Ops team) for organizing Dev and Ops teams to effectively initiate and adopt CD practices. Our study also provides insights into how software organizations actually improve collaboration among teams and team members for practicing CD. Furthermore, we highlight new responsibilities and skills (e.g., monitoring and logging skills), which are needed in this regard.

[1]  Liming Zhu,et al.  Developing Dependable and Secure Cloud Applications , 2016, IEEE Internet Computing.

[2]  Bente Anda,et al.  Experiences from conducting semi-structured interviews in empirical software engineering research , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[3]  Oliver Kopp,et al.  Streamlining DevOps automation for Cloud applications using TOSCA as standardized metamodel , 2016, Future Gener. Comput. Syst..

[4]  Jan Bosch,et al.  Towards DevOps in the Embedded Systems Domain: Why is It So Hard? , 2016, 2016 49th Hawaii International Conference on System Sciences (HICSS).

[5]  Guilherme Horta Travassos,et al.  Characterizing DevOps by Hearing Multiple Voices , 2016, SBES '16.

[6]  Richard Berntsson-Svensson,et al.  On the journey to continuous deployment: Technical and social challenges along the way , 2015, Inf. Softw. Technol..

[7]  Pasi Kuvaja,et al.  An Exploratory Study of DevOps Extending the Dimensions of DevOps with Practices , 2016 .

[8]  Jan Bosch,et al.  Continuous Integration and Delivery Traceability in Industry: Needs and Practices , 2016, 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[9]  Ivan Porres,et al.  On the Impact of Mixing Responsibilities Between Devs and Ops , 2016, XP.

[10]  Mika Mäntylä,et al.  The highways and country roads to continuous deployment , 2015, IEEE Software.

[11]  Liming Zhu,et al.  The Intersection of Continuous Deployment and Architecting Process: Practitioners' Perspectives , 2016, ESEM.

[12]  Matt Callanan,et al.  DevOps: Making It Easy to Do the Right Thing , 2016, IEEE Software.

[13]  Klaas-Jan Stol,et al.  Continuous software engineering: A roadmap and agenda , 2017, J. Syst. Softw..

[14]  Bjørnar Tessem,et al.  Problems in the interplay of development and IT operations in system development projects: A Delphi study of Norwegian IT experts , 2011, Inf. Softw. Technol..

[15]  Naihua Duan,et al.  Purposeful Sampling for Qualitative Data Collection and Analysis in Mixed Method Implementation Research , 2015, Administration and Policy in Mental Health and Mental Health Services Research.

[16]  Georgios Gousios,et al.  Work practices and challenges in pull-based development: the contributor's perspective , 2015, ICSE.

[17]  Shari Lawrence Pfleeger,et al.  Personal Opinion Surveys , 2008, Guide to Advanced Empirical Software Engineering.

[18]  Terhi Kilamo,et al.  Improving the delivery cycle: A multiple-case study of the toolchains in Finnish software intensive enterprises , 2016, Inf. Softw. Technol..

[19]  John W. Creswell,et al.  Designing and Conducting Mixed Methods Research , 2006 .

[20]  Frank Leymann,et al.  Collaborative gathering and continuous delivery of DevOps solutions through repositories , 2017, Computer Science - Research and Development.

[21]  TessemBjørnar,et al.  Problems in the interplay of development and IT operations in system development projects , 2011 .

[22]  Torgeir Dingsøyr,et al.  Emerging themes in agile software development: Introduction to the special section on continuous value delivery , 2016, Inf. Softw. Technol..

[23]  Emerson R. Murphy-Hill,et al.  The Design Space of Bug Fixes and How Developers Navigate It , 2015, IEEE Transactions on Software Engineering.

[24]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[25]  Laurie A. Williams,et al.  Continuous Deployment at Facebook and OANDA , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[26]  Daniela E. Damian,et al.  Selecting Empirical Methods for Software Engineering Research , 2008, Guide to Advanced Empirical Software Engineering.

[27]  Stephan Krusche,et al.  Introduction of continuous delivery in multi-customer project courses , 2014, ICSE Companion.

[28]  Liming Zhu,et al.  DevOps - A Software Architect's Perspective , 2015, SEI series in software engineering.

[29]  Steve Neely,et al.  Continuous Delivery? Easy! Just Change Everything (Well, Maybe It Is Not That Easy) , 2013, 2013 Agile Conference.

[30]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[31]  B. Kitchenham,et al.  Case Studies for Method and Tool Evaluation , 1995, IEEE Softw..

[32]  S. Berg Snowball Sampling—I , 2006 .

[33]  Pasi Kuvaja,et al.  Dimensions of DevOps , 2015, XP.