El ciclo de vida iterativo e incremental

 ¿Cuál es la diferencia entre ciclo de vida iterativo e incremental?

En un ciclo de vida iterativo (o en un enfoque iterativo), se trabaja sobre un conjunto de funcionalidades y se perfeccionan, sin incluir nuevas funcionalidades.

En el ciclo de vida iterativo incremental se van añadiendo funcionalidades.

En el enfoque iterativo existe feedback, se pueden realizar retrospectivas, pero se trabaja sobre componentes, subsistemas o productos completos.

Se puede considerar que el enfoque iterativo podría ser una siguiente fase a la cascada: “tengo una primera versión del producto, vamos a mejorarlo”.

Es un modelo eminentemente teórico porque incluso en modelos que prevén unos requisitos (posteriores funcionalidades) estables, como el clásico, hay variaciones sobre las especificaciones iniciales.


  • Ventajas:
  • Se puede gestionar las expectativas del cliente (requisitos desarrollados, velocidad de desarrollo, calidad) de manera regular, puede tomar decisiones en cada iteración. Esto es especialmente interesante cuando:
    • El cliente no sabe exactamente qué es lo que necesita, lo va sabiendo conforme va viendo cuales son los resultados del proyecto.
    • El cliente necesita hacer cambios a corto plazo (nuevos requisitos o a cambios en los ya realizados) por:
      • Cambios en las condiciones del mercado (por un cambio de necesidades, por un nuevo producto que ha lanzado la competencia, urgencias).
      • La reacción y aceptación del mercado respecto al uso de los primeros resultados del proyecto.
      • Cualquier cambio en el entorno (recursos, etc.), que pueda incluso finalizar el proyecto manteniendo como mínimo los resultados alcanzados hasta ese momento.
    • El equipo necesita saber si lo que ha entendido es lo que el cliente espera.

  • Desventajas: 
  • La disponibilidad del cliente debe ser alta durante todo el proyecto dado que participa de manera continua:
    • El inicio de una iteración, el cliente ha de detallar (o haber detallado previamente) los requisitos que se van a desarrollar. 
    • En la finalización de cada iteración, el cliente ha de revisar los requisitos desarrollados.
  • La relación con el cliente ha de estar basada en los principios de colaboración y ganar/ganar más que tratarse de una relación contractual en la cual cada parte únicamente defiende su beneficio a corto plazo.
  • Cada iteración debe dar como resultado requisitos terminados, de manera que el resultado sea realmente útil para el cliente y no deje tareas pendientes para futuras iteraciones o para la finalización del proyecto.
  • Cada iteración ha de aportar un valor al cliente, entregar unos resultados cerrados que sean susceptibles de ser utilizados por él.

Comentarios

Entradas populares de este blog

MI PORTAFOLIO UNIDAD 1

INTRODUCCION A LA PROGRAMACIÓN LINEAL