1.3 Gestión de proyectos y prácticas Agile
Last updated
Last updated
En la década de los 90, la industria del software enfrentó retos significativos. Primero, era relativamente joven, y no había suficientes desarrolladores de software cualificados disponibles. Segundo, la industria dependía de un enfoque de gestión de proyectos estricto conocido como "cascada". Este método priorizaba la creación de extensas listas de requisitos, a menudo más para acuerdos legales que para colaborar con los clientes. Esta falta de cooperación llevó a una desconfianza generalizada.
Además, el desarrollo de software difería del enfoque incremental utilizado hoy en día. En lugar de mejoras graduales, el software se creaba en grandes paquetes. Considere software como el antiguo Office 95, con numerosas características que la mayoría de las personas no usaban. Desarrollar paquetes tan extensos tomaba años y a menudo resultaba en errores. La Ley de Pareto ilustró que solo alrededor del 20% del software se utilizaba, dejando el 80% de los recursos desperdiciados.
En el enfoque tradicional de "cascada", un proyecto de software podría tomar un año entero para completarse sin ninguna entrada del cliente. Sin embargo, en el enfoque Agile, ese mismo software se entrega al cliente cada mes o durante un "sprint", permitiendo comentarios tempranos y mejoras graduales. De esta manera, para el final del año, tienes una solución final exitosa.
El proceso de desarrollo Agile implica varias prácticas clave. Primero, está el "product backlog" (registro de producto), que es una lista de características y tareas deseadas para todo el año. Luego, para cada mes, tienes un "sprint backlog" (registro del sprint), que es una lista de cosas en las que trabajar durante ese mes. El ciclo Agile ocurre regularmente, generalmente cada dos semanas o un mes, como decida el equipo, e implica pasos como planificación, diseño, desarrollo, pruebas y lanzamiento del software. Este ciclo se repite continuamente, con cada sprint, y lleva a la entrega del producto final.
Se pueden utilizar varios métodos y enfoques para trabajar de manera Agile. Todos ellos siguen los principios y valores de los que hablamos anteriormente.
Algunos marcos Agile bien conocidos en el desarrollo de software incluyen Scrum, Kanban, Híbrido, Lean, Bimodal, XP y Crystal. Entre estos, Scrum es el más utilizado.