Desarrollo de software: metodologías en cascada (Waterfall) y ágil (Agile)

Metodologías para el desarrollo de software: Waterfall vs Agile
Waterfall es una metodología clásica de desarrollo de software en la que las fases de desarrollo son siempre las mismas: análisis, diseño, programación, testing e implementación. Esta metodología suele ser más utilizada para proyectos con una fase de diseño muy importante, que contengan gran cantidad hitos y entregables en el transcurso del proyecto.
La principal característica de la metodología Agile es que se basa en iteraciones de corto período de tiempo (1 a 4 semanas) en el que se desarrolla completamente una aplicación o módulo. Agile es muy utilizada en proyectos que requieren velocidad de implementación y actualización para mercados muy dinámicos, que necesitan cambios constantes y que su principal, y en algunos casos único entregable, es el producto.
Independientemente de con qué metodología se inicie el proyecto, las actividades principales para la ejecución del proyecto son las mismas. La diferencia es que en Waterfall las fases son en orden y una a continuación de la otra y en Agile son en paralelo.


¿Qué metodología utilizar?
Hay factores que definen cuál es la metodología óptima para cada tipo de proyecto, en el cuadro podemos ver según las características del proyecto qué enfoque es mejor para la gestión del mismo:
FACTOR | STATUS | AGILE | WATERFALL |
Tamaño del proyecto y complejidad | Pequeño, poco complejo | X | |
Grande o complejo | X | ||
Disponibilidad del cliente | Muy disponible | X | |
Poco disponible | X | ||
Integración con otros sistemas | Simple o no necesario | X | |
Varios y complejos | X | ||
Tolerancia del cliente a cambios en el proyecto | Flexible | X | |
Fijo o difícil de modificar | X | ||
Velocidad de salida al mercado | Rápida aunque tenga límites de alcance | X |
Si bien se enfocan a distintas necesidades, es muy poco común encontrar proyectos que sean puramente Waterfall o Agile, por eso actualmente las compañías combinan estas dos prácticas para la gestión de proyectos.
La combinación de las dos metodologías asegura una buena gestión del proyecto con un proceso de ejecución más rápido y eficiente; y con la posibilidad de realizar cambios sin que afecte a la planificación de proyecto.
Las principales ventajas de gestionar un proyecto con estas dos técnicas de manera simultánea son:
- Mejorar las predicciones de los hitos y los entregables, tiempo y forma.
- Mejorar la velocidad de respuesta del equipo, obteniendo información más rápida y precisa del usuario, equipo y gerencia.
Conclusión
La actual dinámica de trabajo necesita proyectos que tengan una rápida implementación para llegar al mercado antes que la competencia, en este entorno, es fundamental la metodología Agile para dar respuesta a estas necesidades. La combinación con Waterfall le agrega una gestión más eficiente del proyecto global para tener un mejor control presupuestario, de hitos y entregables.