Desarrollo Iterativo e Incremental


Desarrollo Iterativo e Incremental




Al planificar un proyecto en distintos bloques temporales se les denomina iteración. En una iteración se repite un determinado proceso de trabajo que brinda un resultado más completo para un producto final, de forma que quien lo utilice reciba beneficios de este proyecto de manera creciente.
Para llegar a lograr esto, cada requerimiento debe tener un completo desarrollo en una única iteración que debe incluir pruebas y una documentación para que el equipo pueda cumplir con todos los objetivos que sean necesarios y esté listo para ser dado al cliente. De esta manera no se deja para el final del proyecto ninguna actividad arriesgada relacionada con la entrega de requisitos.
En cada iteración el equipo evoluciona el producto, es decir hace una entrega incremental a partir de los resultados completados en las iteraciones anteriores, añadiendo nuevos requisitos o mejorando los que ya fueron completados. Un aspecto fundamental para guiar el desarrollo iterativo e incremental es la priorización de los objetivos en función del valor que aportan al cliente.





Los beneficios del desarrollo iterativo son:

  • Se puede gestionar las expectativas (requisitos desarrollados, velocidad de desarrollo, calidad) de manera regular, por lo que se pueden tomar decisiones en cada iteración.
  • Se comienza el proyecto con requisitos de alto nivel, quizás no del todo completos, de manera que se vayan refinando en sucesivas iteraciones. Sólo es necesario conocer con más detalle los requisitos de las primeras iteraciones, los que más valor aportan.
  •  Se obtienen resultados importantes y usables ya desde las primeras iteraciones.
  • Se puede gestionar de manera natural los cambios que van apareciendo durante el proyecto. La finalización de cada iteración proporciona  el feedback tras examinar el resultado y con esta información ya es posible planificar los cambios necesarios para alinearse con las expectativas desde las primeras iteraciones, de manera que al finalizar el proyecto se obtengan los objetivos esperados.
  •  Se puede perder como máximo los recursos dedicados a una iteración, no los de todo el proyecto.
  • Permite conocer el progreso real del proyecto desde las primeras iteraciones y extrapolar si su finalización es viable en la fecha prevista.
  •  Permite mitigar desde el inicio los riesgos del proyecto.
  • Permite gestionar la complejidad del proyecto.

Y lo más importante es que cada iteración debe dar como resultado requisitos terminados, así que  se minimiza el número de errores que se producen en el desarrollo y por lo tanto se aumenta la calidad y la efectividad del proyecto.




Comentarios

Entradas populares