Understanding context and forces for choosing organizational structures for continuous delivery

Resumo


In this research, we aim to understand the organizational structures adopted by software-producing organizations for managing IT technical teams in a continuous delivery context. Following Grounded Theory guidelines, we interviewed 46 IT professionals to investigate how organizations pursuing continuous delivery organize their development and operations teams. Among our results, we discovered four organizational structures: (1) siloed departments, (2) classical DevOps, (3) cross-functional teams, and (4) platform teams. After having discovered such structures and their properties, we describe, in this paper, our plans to better understand which contextual properties and forces lead an organization to adopt an organizational structure to the detriment of the other ones.
Palavras-chave: Continuous Delivery, Release Process, DevOps, Software Teams

Referências

Basiri, A., Behnam, N., de Rooij, R., Hochstein, L., Kosewski, L., Reynolds, J., and Rosenthal, C. (2016). Chaos engineering. IEEE Software, 33(3):35–41.

Beyer, B., Jones, C., Petoff, J., and Murphy, N. R. (2016). Site Reliability Engineering: How Google Runs Production Systems. O’Reilly Media.

Chen, L. (2015). Continuous delivery: Huge benefits, but challenges too. IEEE Software, 32(2):50–54.

Forsgren, N., Humble, J., and Kim, G. (2018). Measuring performance. In Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations. IT Revolution Press.

Glaser, B. and Strauss, A. (1999). The discovery of grounded theory: strategies for qualitative research. Aldine Transaction.

Gray, J. (2006). A conversation with werner vogels. ACM Queue, 4(4):14–22.

Humble, J. and Farley, D. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional.

Humble, J. and Molesky, J. (2011). Why enterprises must adopt devops to enable continuous delivery. Cutter IT Journal, 24(8):6–12.

Leite, L., Kon, F., Pinto, G., and Meirelles, P. (2020a). Building a theory of software teams organization in a continuous delivery context. In 42nd International Conference on Software Engineering Companion, ICSE ’20 Companion, pages 294–295.

Leite, L., Kon, F., Pinto, G., and Meirelles, P. (2020b). Platform teams: An organizational structure for continuous delivery. In IEEE/ACM 42nd International Conference on Software Engineering Workshops, ICSEW’20, pages 505–511.

Leite, L., Rocha, C., Kon, F., Milojicic, D., and Meirelles, P. (2019). A survey of DevOps concepts and challenges. ACM Computing Surveys, 52(6):127:1–127:35.

Mann, A., Brown, M. S. A., and Kersten, N. (2018). 2018 State of DevOps Report. https://puppet.com/resources/whitepaper/2018-state-of-devops-report, accessed on Jul 2019.

Meszaros, G. and Doble, J. (1997). A pattern language for pattern writing. In Proceedings of International Conference on Pattern languages of program design (1997), volume 131, page 164.

Nybom, K., Smeds, J., and Porres, I. (2016). On the impact of mixing responsibilities between devs and ops. In International Conference on Agile Software Development, XP 2016, pages 131–143. Springer International Publishing.

Ralph, P. (2019). Toward methodological guidelines for process theories and taxonomies in software engineering. IEEE Transactions on Software Engineering, 45(7):712–735.

Shahin, M. and Babar, M. A. (2020). On the role of software architecture in devops transformation: An industrial case study. Accepted in ICSSP 2020. https://arxiv.org/abs/2003. 06108, accessed on May 2020.

Shahin, M., Zahedi, M., Babar, M. A., and Zhu, L. (2017). Adopting continuous delivery and deployment: Impacts on team structures, collaboration and responsibilities. In Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, EASE’17, pages 384–393. ACM.

Skelton, M. and Pais, M. (2013). Devops topologies. https://web.devopstopologies.com/, accessed on Jul 2019.

Skelton, M. and Pais, M. (2019). Team Topologies: Organizing Business and Technology Teams for Fast Flow. IT Revolution Press.

Srivastava, S., Trehan, K., Wagle, D., and Wang, J. (2020). Developer velocity: How software excellence fuels business performance. https://mck.co/2xENHUT, accessed on August 2020.

Yin, R. K. (2009). Case Study Research, Design and Methods. SAGE Publications, 4th edition.
Publicado
19/10/2020
FERREIRA LEITE, Leonardo Alexandre; KON, Fabio; MEIRELLES, Paulo. Understanding context and forces for choosing organizational structures for continuous delivery. In: WORKSHOP DE TESES E DISSERTAÇÕES (WTDSOFT) - CONGRESSO BRASILEIRO DE SOFTWARE: TEORIA E PRÁTICA (CBSOFT), 11. , 2020, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 54-62. DOI: https://doi.org/10.5753/cbsoft_estendido.2020.14609.