El desarrollo ágil de software no es más que una método de gestión adaptativa, en donde el ciclo de vida es iterativo, a veces también incremental, se adecua a los cambios y evolucionando en forma conjunta con el software, aunque en muchas ocasiones se considere algo novedoso, o revolucionario, es conveniente recordar, que el ciclo de vida iterativo e incremental es incluso más antiguo que el ciclo de vida en cascada, y que se empezó a aplicar al software en los 60.
La definición moderna de desarrollo ágil también llamado "peso liviano" de software evolucionó a mediados de la década de 1990 como parte de una reacción contra los métodos tradicionales conocidos como "peso pesado", cuyos detractores lo precisaba como muy estructurados, estrictos, burocrático, lento, degradante e inconsistente.
En el año 2001, miembros prominentes de la comunidad se reunieron en Snowbird, Utah, y adoptaron el nombre de "métodos ágiles" y resumieron en cuatro postulados lo que ha quedado denominado como “Manifiesto Ágil”, en la actualidad existen varias metodologías agile, la más notables son: Scrum, Kanban, Crystal Clear, XP, entre otros.
Existen semejanzas y diferencias entre las metodologías tradicionales (desarrollo en cascada o predictiva) y ágiles (adaptativa e interactiva), que para poder comprenderlo debemos manejar algunos conceptos básicos.
Una metodología de desarrollo en cascada o predictiva se basa en dividir y estimar la duración del proyecto en 5 fases fundamentales, consecutivas y de duración definida: Inicio, Planificación, Ejecución, Control y Cierre. Sus premisa son tener claro el alcance que se pretende lograr, por lo que la definición de entregables, tareas y el tiempo y costo asociados se pueden definir fácilmente.
Imagen 1. metodología de desarrollo en cascada o predictiva
Metodología ágil incorporar las iteraciones y manejo de entrega por prototipos para desarrollarlos en plazos de tiempo limitado. En estas metodologías se incorpora al cliente como participante en los equipos de proyecto, otorgando sus comentarios y feedback directamente al equipo durante cada iteración de desarrollo, y no al inicio y al final del todas las fases, como se hace en una esquema de cascada. Este esquema de trabajo es muy útil para su uso en equipos pequeños (o equipos grandes divididos en grupos pequeños), las competencias de los integrantes es similar, y para casos donde el alcance de proyecto no está completamente definido.
Imagen 2. Metodología de desarrollo adaptativa e interactiva
Las metodologías predictivas se usan en los proyectos ágiles, pero al inicio de estos, en la etapa de análisis y revisión debido a que los costos y tiempos son fijos, definidos al principio del proyecto, por lo que el foco de cada iteración es definir la duración de las actividades y recursos necesarios para completar el alcance y seleccionar una cantidad tal que se ajuste a los tiempos y costos de la iteración.
El Control y la revisión de cambios están integrados igualmente a la metodología ágil como tradicional, pues al final de cada iteración, se agregan, descartan, desagregan o reordenan las prioridades de los elementos del Backlog de producto, definiendo y aprobando el alcance de próximas iteraciones.
Por lo tanto, los enfoques ágiles se diferencian de los predictivos, básicamente por la forma de abordaje de un proyecto, debido que el enfoque predictivo, es aquel que plantea el abordaje estricto de un proyecto, sobre la base del cumplimiento de tres aspectos predefinidos al comienzo del proyecto: alcance, costo y tiempo; mientras tanto, el enfoque ágil, plantea los proyectos desde el cumplimiento de un objetivo más amplio: entregar software con el mayor valor posible.
Reseñas Bibliográficas
No hay comentarios:
Publicar un comentario