Los 4 mitos de la productividad
¿Quieres mejorar la productividad del desarrollo de software en ti mismo, en tu equipo o en tu organización? Entonces sigue leyendo y desmentiremos juntos algunos mitos.
Rapidez versus calidad
Mito: Todo proyecto de desarrollo de software es un compromiso entre rapidez y calidad.
Verdad: En la productividad del desarrollo de software no existe un conflicto entre rapidez y calidad.
"Cuando la calidad es buena, el desarrollo es más fácil."
La alta calidad permite alta velocidad. Esta es la conclusión de muchos métodos ágiles populares, como el desarrollo guiado por pruebas (TDD), la integración continua y DevOps. Cuando ya no se presta suficiente atención a la calidad, se acumula cada vez más deuda técnica. Muy pronto, todo el presupuesto se destina al mantenimiento y no queda nada para inversiones. Debes mantener tu sistema (o el entorno del sistema) en un estado en el que realmente puedas cambiar o mejorar algo.
Si quieres saber más sobre la calidad y cómo lograrla, te recomiendo el World Quality Report.
Habilidades versus cantidad
Mito: Los desarrolladores de software son solo recursos y pueden ser reemplazados cuando sea necesario.
Verdad: En cuanto a la productividad en el desarrollo de software, existen grandes diferencias entre los desarrolladores individuales.
Hay diferencias individuales entre los desarrolladores. Supongamos simplemente que un desarrollador promedio tiene una productividad de 1. Un mal programador puede tener una productividad de 0 o incluso -1. Esto significa que el rendimiento de un mal desarrollador y el de un desarrollador mediocre pueden anularse mutuamente. Sin embargo, un programador excepcional puede tener una productividad de 10 o incluso 30. Un desarrollador así puede reemplazar equipos enteros de desarrolladores. Así que sí, se trata de tener a las personas adecuadas.
Se necesita tiempo para construir un equipo de alto rendimiento en el desarrollo de software. A menos que te enfoques explícitamente en establecer una llamada Memoria Transactiva en el equipo, pasará hasta un año antes de que esta mejora se produzca por sí sola. Las personas no son plantas de maceta que se puedan mover de un lugar a otro por orden del jardinero. Son árboles con raíces profundas. Sus raíces se dañan y dejan un gran agujero cuando se les trasplanta.
Agile versus cascada
Mito: En otras industrias se trabaja con éxito con el método cascada y por eso nosotros también deberíamos hacerlo.
Verdad: Desde la década de 1950 ha pasado mucho y ni siquiera en la construcción se trabaja ya con cascada.
Hay una diferencia fundamental entre la producción en masa (reproducción) y las industrias con mucha más incertidumbre y trabajo de diseño, como el desarrollo de software o incluso la industria de la construcción. Pero espera, ¿no es la industria de la construcción el ejemplo por excelencia del método cascada? Todo comienza con el arquitecto, luego vienen los ingenieros, la construcción del edificio y finalmente su uso. Sí, esa era la situación en la década de 1950, cuando la construcción de edificios se realizaba en terrenos vírgenes. Pero eso ha cambiado. En la industria de la construcción actual se trata de renovar, restaurar y reformar edificios ya existentes, y nadie sabe qué hay dentro de una pared o debajo de un suelo. También la industria de la construcción se está moviendo hacia un enfoque más ágil.
Por supuesto, en Agile hay algunos requisitos previos para que todo funcione bien, pero no se pueden eliminar ignorándolos. Si aún no trabajas de forma ágil, es enormemente importante volverse ágil para aumentar la productividad y resolver problemas.
Cloud versus On-Premise
Mito: La nube consiste simplemente en servidores en la nube; no puede mejorar tu productividad.
Verdad: La nube es uno de los motores más potentes para la productividad en el desarrollo de software.
... e incluso si solo ves la nube como una forma de alquilar servidores (Infrastructure-as-a-Service), lo cual ya de por sí tiene claras ventajas para la productividad en el desarrollo de software. La capacidad de obtener un entorno completamente nuevo en cuestión de segundos permite, por ejemplo, la Integración y el Despliegue Continuos e incluso DevOps, lo cual puede aumentar enormemente la productividad. Pero la nube es más que mera infraestructura. Hoy en día es solo cuestión de horas después de terminar el diseño hasta que puedas empezar a vender los primeros productos en tu tienda online. Y todo gracias a Manufacturing-as-a-Service, Logistics-as-a-Service e incluso eCommerce-as-a-Service. Lo mismo aplica no solo para productos físicos sino también para el desarrollo de software.
Este texto proviene del blog de Greger Wikstrand y fue traducido al español.