Guía para un mejor desarrollo de Software
Guia con capacidades o buenas prácticas para un mejor desarrollo de software.
El diseño de servicios o aplicaciones considera muchísimas variables. Algunas dependen de la cultura de la empresa, otras de las capacidades del equipo técnico y otras de los procesos de negocio, entre otras. ¿Pero qué capacidades hacen que un equipo de desarrollo de software sea exitoso? Este tema ha existido desde hace mucho tiempo, y por lo mismo existen innumerables estudios al respecto.
Por ejemplo, un estudio de Google del 2015 entrevistó a más de 200 personas de 180 equipos distintos de desarrollo. Buscaba comprender cuáles eran los atributos determinantes de los equipo de alto rendimiento. Se pensaba que encontrarían un receta con las características y capacidades individuales que formaban un equipo exitoso. Algo así como profesionales excepcionales, como un Messi o un Cristiano Ronaldo, pero computín.
El resultado mostró sin embargo, que más que la nivel o capacidad de una persona en particular, los equipos que destacaron debían su éxito a la colaboración y dinámica de los equipos.
—“Who is on a team matters less than how the team members interact, structure their work, and view their contributions.”, Google, 2015
En definitiva no sirve un jugador extraordinario que juega sólo, por bueno que sea. Si un desarrollador es algo así como el Chino Ríos de la programación, no sirve de nada si no va a trabajar en equipo.
Así como el estudio de Google, han existido muchos otros en busca del Santo Grial; la receta ideal que conforman equipos de desarrollo de excelencia.
Uno de los tantos estudios, pero muy respetado y sugerido, es el que comentamos en el capítulo previo: el estudio sobre el desarrollo de software de excelencia de Nicole Forsgren y su equipo, que analizaron, entre los años 2017 y 2021, a más de 2000 empresas. Usaremos entonces este último estudio como la receta ideal para construir equipos de desarrollo de alto desempeño.
Bueno, el estudio de Nicole encontró 24 ingredientes o capacidades que compartían aquellas empresas de alto rendimiento en el desarrollo de software. En mi experiencia personal, comparto 100% los hallazgos de dicho estudio, y por lo mismo creo conveniente y necesario conocerlos.
A continuación revisaremos las 24 capacidades que tienen las empresas de alto rendimiento agrupados en 5 áreas: cultura organizacional, Continuous Delivery, Arquitectura, Producto, y Gestión eficiente.