Desarrollo iterativo y ágil
Leon ha comenzado recientemente un nuevo puesto en una empresa de software. Su compañía anterior usaba Agile, pero su nueva compañía realmente no sabe mucho al respecto. Cuando lo discute con su equipo, responden que utilizan un desarrollo iterativo que parece lo mismo que Agile. Leon no cree que este sea el caso y decide que lo mejor es investigar el desarrollo iterativo y compararlo con Agile.
El desarrollo iterativo no es una metodología de proyectos, sino un enfoque que se puede aplicar a las metodologías de proyectos. Se centra en hacer que el cronograma del proyecto sea cíclico para tener en cuenta las modificaciones y mejoras necesarias. Es innovador en el sentido de que reconoce que normalmente es necesario volver a trabajar y que siempre hay margen de mejora. La mayoría de las veces, es en realidad un enfoque que se aplica a las metodologías de proyectos tradicionales, donde los diferentes aspectos de la metodología no se cambian, sino que simplemente se repiten.
Similar al desarrollo iterativo, Agile no es específicamente una metodología de proyecto, sino un enfoque para administrar proyectos. Agile es una alternativa a las metodologías tradicionales. Se centra en responder al cambio y la naturaleza impredecible de los proyectos, así como en aumentar la participación del cliente al ser iterativo e incremental. A diferencia del desarrollo iterativo, Agile hace más que repetir los aspectos de una metodología, pero en realidad también cambia los aspectos. El Manifiesto Ágil lo define como un conjunto de declaraciones que identifica diferentes aspectos de los proyectos que se valoran sobre otros. Incluye lo siguiente:
- Individuos e interacciones sobre procesos y herramientas
- Software de trabajo sobre documentación completa
- Colaboración con el cliente sobre la negociación del contrato
- Responde al cambio sobre el siguiente plan
Marco de desarrollo iterativo
Después de que su equipo define el desarrollo iterativo, Leon piensa que están usando una metodología tradicional y le han agregado iteraciones. Quiere aprender más sobre cómo abordan los diferentes aspectos de un proyecto, como los procesos, los plazos y la participación del cliente. Él cree que estos se tratan de la misma manera, independientemente de si su enfoque es iterativo o no.
Mientras se usa el desarrollo iterativo, las metodologías de proyectos tradicionales continúan adoptando un enfoque secuencial de los procesos. Cuando se inicia un proyecto, todos los requisitos se determinan primero y son relativamente vinculantes para la persona que solicita el proyecto y el equipo de desarrollo que lo completa. A medida que avanza el proyecto, se completa todo el desarrollo y luego se completan las pruebas. En el desarrollo iterativo, solo los procesos de desarrollo y prueba se repiten a lo largo del proyecto con tiempo entre iteraciones para reelaboración y mejoras. El proceso de requisitos no se repite. A medida que el desarrollo y las pruebas se repiten, permanecen en secuencia y no se superponen.
Índice de Desarrollo Humano (IDH): Qué es, Características y Ejemplos
El desarrollo iterativo no aborda específicamente los plazos. Las iteraciones pueden durar semanas, incluso meses, porque no hay un límite real. El proyecto no se completa hasta que se completan todas las iteraciones. Esto significa que la duración del proyecto sigue siendo la misma que si no se utilizara el desarrollo iterativo.
El desarrollo iterativo involucra a los clientes al comienzo de un proyecto, pero no aborda la participación continua del cliente durante el proyecto. Los clientes establecen los requisitos del proyecto al principio y reciben el producto cuando se compite. El establecimiento de requisitos no se repite y el producto se entrega de una vez al cliente una vez completado.
Marco ágil
Una vez que Leon comprende completamente cómo su nuevo equipo ha utilizado el desarrollo iterativo, reafirma su creencia de que su metodología es tradicional y no es lo mismo que Agile. Agile toma intencionalmente un enfoque diferente a los aspectos típicos de un proyecto y no es un enfoque explícito en el desarrollo iterativo.
En términos de proceso, Agile se desvía de las secuencias tradicionales. El proyecto se divide gradualmente en historias de usuario , que son requisitos para la funcionalidad deseada para un usuario específico. Las historias de usuario se pueden trabajar independientemente unas de otras, lo que significa que no es necesario establecer todos los requisitos del proyecto por adelantado. Los requisitos del proyecto pueden cambiar y actualizarse después de cada iteración. Esto es lo que permite al equipo responder al cambio. Además, los procesos de desarrollo y prueba pueden ocurrir simultáneamente. Los desarrolladores y evaluadores participan activamente en cada iteración, lo que representa el énfasis de Agile en las personas y las interacciones.
Agile aborda específicamente los plazos de los proyectos. Las iteraciones que utiliza Agile se conocen como sprints y suelen durar de dos a cuatro semanas. Uno de los principios que enfatiza Agile son los plazos más cortos. Las historias de usuario se desarrollan y prueban completamente en cada sprint, produciendo resultados tangibles. Esto permite al equipo crear software de trabajo, un valor de Agile, y hacerlo en intervalos más frecuentes.
¿Por qué los Seres Humanos pasan por Diferentes Etapas de Desarrollo?
Agile también busca aumentar la participación del cliente. De hecho, la colaboración con el cliente es una de las características identificativas de Agile. El objetivo es que la colaboración ocurra con cada iteración, continuando durante todo el proyecto. A medida que se completa el trabajo, los comentarios de los clientes son vitales. Ocurre temprano y con frecuencia para que el equipo pueda identificar las áreas que necesitan cambios o recibir la confirmación de que están en el camino correcto.
Resumen de la lección
Dediquemos unos minutos a revisar lo que hemos aprendido sobre el desarrollo ágil e iterativo. El desarrollo iterativo es un enfoque que normalmente se incorpora a las metodologías de proyectos tradicionales. Se centra en hacer que el cronograma del proyecto sea cíclico para tener en cuenta las modificaciones y mejoras necesarias. El desarrollo iterativo no aborda otros aspectos de un proyecto como el proceso, los plazos o la participación del cliente. El proceso sigue siendo secuencial, los plazos no se abordan específicamente y no hay participación adicional del cliente. Agile es una alternativa a las metodologías tradicionales que se enfoca en responder al cambio y en la naturaleza impredecible de los proyectos al ser tanto iterativo como incremental. No mantiene los procesos secuenciales, pero permite historias de usuarios., o requisitos para la funcionalidad deseada para un usuario específico, que se completarán en cada iteración que utiliza ágil, conocidas como sprints . Los sprints se mantienen lo más cortos posible, por lo general, duran de dos a cuatro semanas. La participación del cliente, un punto focal, ocurre temprano y con frecuencia.
Explora más sobre este tema
Selecciona un tema y sigue aprendiendo...
