En un mundo cada vez más dependiente de los programas informáticos y las aplicaciones de telefonía móvil, un grupo de investigadores brasileños pasó más de cuatro años desentrañando el funcionamiento de la industria del software para tratar de explicar cómo esta se organiza y opera. El resultado de este esfuerzo fue una teoría que describe el proceso de producción de software en Brasil y en el resto del mundo. El hecho de poder explicar cómo se estructura esta industria es fundamental, según dicen los expertos en la materia, para asegurar una entrega continua y confiable de estos sistemas, que están presentes en todas partes, desde hospitales hasta centros de control de tráfico aéreo, desde instituciones financieras hasta redes sociales y servicios de transmisión multimedia en directo o streaming.
“Una de las misiones principales de quienes estudian el campo de la ingeniería de software consiste en entender cómo las personas se unen y se coordinan colectivamente en la tarea de diseñar y fabricar programas de computación”, comenta el ingeniero de software Leonardo Leite, empleado del Servicio Federal de Procesamiento de Datos (Serpro), quien condujo esta investigación durante su doctorado en el Instituto de Matemática y Estadística de la Universidad de São Paulo (IME-USP). Su tesis doctoral, intitulada “Una teoría fundamentada sobre las estructuras organizativas de los profesionales del desarrollo y la infraestructura en organizaciones productoras de software”, resultó la ganadora del concurso de tesis del área de ingeniería de software promovido por la Sociedad Brasileña de Computación, en 2023.
Una práctica a la que habitualmente recurren las grandes empresas tecnológicas, las llamadas big techs, los fabricantes de software y las empresas en general es lo que se conoce como DevOps, acrónimo de desarrollo y operaciones, en inglés. Bajo esta modalidad colaborativa, la creación del software está a cargo de los desarrolladores y es seguida de cerca por el equipo de infraestructura u operaciones, que se encarga de mantener el software operativo una vez que está listo, con el fin de asegurar su disponibilidad, confiabilidad y rendimiento.
“La sinergia entre ambos equipos permite que todo funcione de manera óptima, independientemente de la demanda en ese momento”, dice Leite. “Al mismo tiempo, facilita la actualización diaria del software, algo que el usuario no percibe que está ocurriendo. Esto es así con Netflix, con el banco digital Nubank, con Amazon y con muchas otras aplicaciones que forman parte de nuestra vida cotidiana”.
La metodología aplicada en la investigación, conocida como teoría basada en datos (grounded theory), tiene por objeto elaborar andamiajes teóricos a partir del análisis de los datos recabados sobre el terreno, sin partir de hipótesis predefinidas, tal como es más habitual en la ciencia. Mediante este método, la teoría se propone basándose en las evidencias empíricas recolectadas.
La primera parte del estudio, que contó con el apoyo de la FAPESP, consistió en la realización de una extensa revisión de la literatura sobre DevOps. Con base en el análisis de 50 trabajos publicados sobre el tema, Leite y sus colegas publicaron un artículo en la revista científica ACM Computing Surveys, en 2019, en el que presentan los retos pendientes en el campo de estudios de DevOps y ofrecen recomendaciones a profesionales de la industria y académicos.
“En este artículo, que incluye una gran cantidad de citas, presentamos una definición concisa para DevOps, un término polémico y controvertido sobre el que no se había arribado a un consenso”, dice el investigador. “Para nosotros, DevOps es un esfuerzo colaborativo y multidisciplinario que tiene lugar en una organización, tendiente a automatizar la entrega continua de nuevas versiones de un software, sin dejar de garantizar la corrección y la fiabilidad de estas versiones.
Entrevistas Anónimas
El paso siguiente de la investigación fue la realización de una encuesta cualitativa con 75 profesionales de 59 empresas brasileñas y extranjeras de diferentes tamaños. Leite optó por emplear el método de entrevistas anónimas para que los profesionales pudieran hablar abiertamente sobre los problemas a los que hacían frente en sus compañías. Con base en los datos recabados, el investigador identificó cuatro modelos organizativos en la industria del software, a los que denominó silos, equipos unificados, colaboración y mediación por plataforma (véase la infografía abajo).
En el primer grupo, los equipos de desarrollo y operaciones están separados y a menudo trabajan en edificios diferentes. La comunicación entre ellos se realiza vía correo electrónico u otros medios digitales. Es un modelo adoptado principalmente por empresas grandes. “Este es el formato más antiguo. En Brasil, muchos todavía lo adoptan”, informa el científico de la computación Fabio Kon, del IME-USP, quien codirigió a Leite en su doctorado.
En el segundo modelo, el de equipos unificados o departamentos únicos, el equipo es mixto y está compuesto por desarrolladores y operadores que trabajan en una misma sala o entorno virtual y, en algunos casos, los mismos profesionales asumen todas las responsabilidades. “Se trata de una evolución con respecto al primer modelo, el de silos, porque aporta más agilidad a la comunicación”, analiza Kon. Tiende a ser adoptado sobre todo por empresas pequeñas, pero también lo utiliza Amazon, que es una big tech.
El siguiente diseño organizativo, el de colaboración, fue identificado por Leite en compañías de mediano porte. “Si una empresa tiene 200 desarrolladores”, pone como ejemplo Kon, “se crearán 20 equipos, cada uno compuesto por 10 profesionales. Un equipo adicional, con 10 operadores, se ocupará de brindar apoyo diario a los equipos de desarrolladores”. La diferencia entre este modelo y el primero, el de silos, radica en que en este la comunicación es más ágil y cercana.
“El personal de operaciones visita diariamente a todos los equipos de desarrollo para atender sus necesidades”, informa Leite. En las empresas muy grandes, explica el investigador, es difícil que el grupo centralizado de operaciones pueda dar apoyo a miles de desarrolladores. “”Por esta razón, cuando una compañía de gran envergadura, como en el caso de Google, adopta este modelo, deben realizarse algunas adaptaciones”, informa Leite.
Por último, en el modelo de plataforma, el proceso de producción del software, incluida la comunicación entre los equipos de desarrollo y operaciones, presenta un alto grado de automatización y tiene lugar a través de una plataforma o interfaz de programación de aplicaciones (API), un sistema que permite la comunicación entre dos máquinas. Es el formato más eficiente, aunque no es adecuado para empresas pequeñas. “En la industria, actualmente coexisten los cuatro modelos. Ninguno es más adecuado que otro. La adopción de uno de ellos depende de varios factores. Cuanto más compleja es la operación, mayor es la tendencia a decantarse por el equipo de plataforma”, dice Kon.
“El método de investigación, grounded theory, se empleó correctamente”, analiza la científica de la computación Elisa Yumi Nakagawa, del Instituto de Ciencias Matemáticas y Computación de São Carlos (ICMC) de la USP. “Aunque la cantidad de personas consideradas en el estudio parezca pequeña en relación con el universo de individuos que podrían haber participado, la saturación de la teoría se alcanzó con esos 75 participantes. Aun cuando se hubiera entrevistado a más personas, es muy probable que la teoría no se hubiera modificado”. Sucede que en grounded theory, la teoría se va formulando a medida que se analiza cada entrevista. En la evaluación de las primeras entrevistas, tiende a experimentar más ajustes, pero la tendencia marca que la teoría se vuelve más estable al ir acumulando entrevistas.
El trabajo de campo consistió en la realización de entrevistas con 75 profesionales
Según Leite, ya existían trabajos que proponían taxonomías, pero hasta ahora ninguno de ellos seguía una metodología científica ni contaba con una base de datos sólida. “Nuestra taxonomía refleja situaciones realmente observadas en la práctica, es decir, es una teoría basada en datos representativos de la realidad observable, y no un conjunto de modelos ideales que, en teoría, podrían alcanzarse.
Con base en las entrevistas realizadas, se publicaron dos artículos en revistas internacionales. El primero, en Information and Software Technology en 2021, expuso los cuatro modelos de organización de la producción de software encontrados en el mercado, mientras que el segundo, publicado en IEEE Transactions on Software Engineering en 2023, se centró en las ventajas y desventajas de los distintos formatos.
En una instancia posterior, la investigación contó con la colaboración de la Universidad Politécnica de Madrid (UPM). Los investigadores españoles llevaron a cabo una encuesta similar a la del grupo de la USP y obtuvieron resultados equiparables. “Elaboramos con ellos un trabajo conjunto de armonización de nuestras taxonomías para comprobar cómo sería un modelo unificado entre ambas perspectivas”, relata Leite.
Con aplicación práctica
Los expertos consultados para la elaboración de este reportaje consideran que la teoría formulada por Leite tiene una importancia práctica para la industria del software. “Es especialmente importante para aquellas organizaciones que se enfrentan al reto que supone la adopción de DevOps.”, destaca el tecnólogo en desarrollo de software Paulo Meirelles, del Departamento de Ciencias de la Computación del IME-USP y director de Leite en su doctorado. “La taxonomía de las cuatro estructuras ayuda a las empresas a identificar dónde se encuentran en su proceso de transformación DevOps. También les permite comprender las ventajas y limitaciones de cada formato”.
El científico de la computación Gustavo Pinto, de la Universidad Federal de Pará (UFPA), quien colaboró en una de las etapas de la investigación, tiene un parecer similar. “El DevOps no es un tema nuevo, pero se detectó un problema latente en esta estructura”, subraya. “Muchos de los trabajos sobre DevOps están desconectados y utilizan términos diferentes para referirse a una misma práctica. Por esta razón, puede que el lector de estos artículos tenga aún más dudas que claridad con respecto a este tema”. Según el investigador, el modelo identificado en la investigación puede hacer las veces de puente entre el sector académico y la industria, para orientar no solo la organización de los equipos, sino también la creación de herramientas.
El científico de la computación Alexandre Freire Kawakami, director de ingeniería, privacidad, seguridad y protección de usuarios de una big tech con sede en São Paulo, considera que la teoría formulada por Leite podrá acelerar el aprendizaje y la adopción de DevOps en muchas empresas. “La teoría y los cuatro modelos de organización descritos tienen sentido, al igual que la definición dada a DevOps”, destaca. “A lo largo de mi carrera he trabajado con los cuatro formatos”.
Con miras a ampliar el alcance de la investigación, Leite, Meirelles y Kon publicaron en 2024 el libro intitulado Como se faz DevOps: Organizando pessoas, dos silos aos times de plataforma [Cómo se hace DevOps. La organización de personas, de los silos a los equipos de plataforma] (editorial Casa do Código), finalista del Premio Jabuti Académico de ese mismo año. “La obra traduce los resultados de la investigación a un lenguaje más accesible para los profesionales de la industria”, destaca el ingeniero de software Eduardo Martins Guerra, investigador de la Universidad Libre de Bolzano, en Italia, quien no participó en la investigación. “Nuestro objetivo fue tender un puente entre la academia y el mercado para que la investigación tuviera un impacto en el mundo real”, añade Leite. Este año salió publicada una versión del libro traducida al inglés.
Este artículo salió publicado con el título “Para descifrar la industria del software” en la edición impresa n° 355 de septiembre de 2025.
Proyecto
INCT 2014: sobre la internet del futuro (no 14/50937-1), Modalidad Proyecto Temático; Investigador responsable Fabio Kon (USP); Inversión R$ 2.049.398,08.
Artículos científicos
LEITE, L. et al. A survey of DevOps concepts and challenges. ACM Computing Surveys. 14 nov. 2019.
LEITE, L. et al. The organization of software teams in the quest for continuous delivery: A grounded theory approach. Information and Software Technology. v. 139. nov. 2021.
LEITE, L. et al. A theory of organizational structures for development and infrastructure professionals. IEEE Transactions on Software Engineering. v. 49, n. 4. abr. 2023.
DÍAZ, J. et al. Harmonizing DevOps taxonomies — A grounded theory study. Journal of Systems and Software. v. 208. feb. 2024.
Libro
LEITE, L. et al. Como se faz DevOps: Organizando pessoas, dos silos aos times de plataforma. Casa do Código. 2024.
Republicar