sábado, 17 de diciembre de 2011

Iteración de procesos - Entrega Incremental

La entrega incremental es un enfoque intermedio que combina las ventajas de los modelos en cascada y el evolutivo. En un procesos de desarrollo incremental, los clientes identifican, a grandes rasgos, los servicios que proporcionará el sistema. Entonces, se definen varios incrementos en donde cada uno proporciona un subconjunto de la funcionalidad del sistema.

"La asignación de los servicios a los incrementos depende de la prioridad del servicio con los servicios de prioridad más alta entregados primero"

Una vez que un incremento se completa y entrega, así los clientes pueden ponerlo en servicio. Esto significa que tienen un entrega temprana de parte de la funcionalidad del sistema. Pueden experimentar con el sistema, lo cual les ayuda a clarificar sus requerimientos para los incrementos posteriores y para las últimas versiones del incremento actual.

Ventajas :
  • Los clientes no tienen que esperar hasta que el sistema completo se entregue para sacar provecho de el.
  • Los clientes pueden utilizar los incrementos iniciales como prototipos y obtener experiencia sobre los requerimientos de los incrementos posteriores del sistema.
  • Existe un bajo riesgo de un fallo total del proyecto.
  • Puesto que los servicios de más alta prioridad se entregan primero, y los incrementos posteriores se integran en ellos, es inevitable que los servicios más importantes del sistema sean a los que se les hagan más pruebas. 
Problemas : 
  • Los incrementos deben ser relativamente pequeños (no más de 20000 de líneas de código) y cada uno debe entregar alguna funcionalidad del sistema.
  • Puede ser dificil adaptar los requerimientos del cliente a incrementos de tamaño apropiado.
  • Puede ser difícil identificar los recursos comunes que requieren todos los incrementos.
Variante :
  • Se ah desarrollado una variante de este enfoque incremental denominada programación extrema.
    • Esta se basa en el desarrollo y la entrega de incrementos de funcionalidad muy pequelos,
    • En la participación del cliente en el proceso,
    • En la mejora constante del código y en la programación por parejas.
    • Se estudia la programación por parejas y otros llamados métodos ágiles.

No hay comentarios:

Publicar un comentario