Está en la página 1de 3

El ciclo de vida iterativo está relacionado directamente con la metodología ágil para

la ejecución de proyectos. Se trata de ir obteniendo parte del producto por


pequeños bloques, a los que se denomina iteraciones o ciclos de desarrollo ,
dentro del ciclo de vida de un proyecto en su conjunto. En el caso de Scrum, se
planifican los bloques a partir de meses naturales o hasta de dos semanas, si así se
necesita.

El sector que más utiliza proyectos iterativos es el mundo del software, en donde se
va liberando prototipos del producto. Cada una de estas partes va mejorando la
liberada en la anterior iteración. De modo que el proyecto total está formado por
múltiples ciclos iterativos, que van aportando calidad al producto.

Diferencia entre iterativo e incremental

No debemos confundir estas dos técnicas en nuestros procesos. Con el ciclo de


vida iterativo vamos obteniendo prototipos independientes al anterior. Si hablamos
del desarrollo de un nuevo software, quiere decir que ya podemos utilizar el primer
resultado del primer ciclo iterativo. La segunda versión o software obtenido de la
siguiente iteración, también podemos usarla y estará mejorada. Mientras que con el
ciclo de vida incremental, vamos añadiendo funcionalidades a nuestro software. Por
supuesto, mejoraremos el producto al ser más completo.

Quiere decir que, si trabajamos sólo con el ciclo incremental, los productos nos
tienen por qué tener la capacidad de utilizarse en cada incremento de
funcionalidades. Pero si trabajamos con iterativo e incremental, el software o
entregables de nuestro proyecto tendrán vida propia, serán estables y podremos ir
utilizándolos según vayamos obteniendo nuevas versiones en cada iteración. Existe
un alto riesgo de quedarse en el incremental, olvidándonos del iterativo. Muchos
equipos olvidan que cada versión debe mejorar en calidad al anterior, y se centran
solo en añadir únicamente funcionalidades.

Ventajas de utilizar el ciclo de vida iterativo e incremental

— Feedback. Existe una retroalimentación para mejorar el producto según los


resultados que vamos obteniendo de los usuarios o clientes. Testear y modificar.

— Gestión del riesgo del proyecto. Al tratarse de metodologías ágiles, gestionamos


mejor los cambios de última hora, nos adaptamos a las exigencias que conllevan
aplicar soluciones al instante y ponemos a prueba la planificación del proyecto.

Ciclo de vida iterativo

También derivado del ciclo de vida en cascada puro, este modelo busca reducir el
riesgo que surge entre las necesidades del usuario y el producto final por malos en-
tendidos durante la etapa de solicitud de requerimientos. Es la iteración de varios
ciclos de vida en cascada. Al final de cada iteración se le entrega al cliente una
versión mejorada o con mayores funcionalidades del producto. El cliente es quien
luego de cada iteración, evalúa el producto y lo corrige o propone me-joras. Estas
iteraciones se repetirán hasta obtener un producto que satisfaga al cliente.

Se suele utilizar en proyectos en los que los requerimientos no están claros de par-
te del usuario, por lo que se hace necesaria la creación de distintos prototipos para
presentarlos y conseguir la conformidad del cliente. Podemos adoptar el modelo
mencionado en aplicaciones medianas a grandes, en las que el usuario o cliente
final no necesita todas las funcionalidades desde el principio del proyecto. Quizás
una empresa que debe migrar sus aplicaciones hacia otra arquitectura, y desea
hacerlo paulatinamente, es un candidato ideal para este tipo de modelo de ciclo de
vida.

Ciclo de vida incremental


Este modelo de ciclo de vida se basa en la filosofía de construir incrementando las
funcionalidades del programa. Se realiza construyendo por modulos que cumplen
las diferentes funciones del sis-tema. Esto permite ir aumentando gradualmente las
capacidades del software. Este ciclo de vida facilita la tarea del desarrollo
permitiendo a cada miembro del equipo desarrollar un módulo particular en el caso
de que el proyecto sea realizado por un equipo de programadores. Es una repetición
del ciclo de vida en cascada, aplicándose este ciclo en cada funcionalidad del
programa a construir. Al final de cada ciclo le entregamos una versión al cliente que
contiene una nueva funcionalidad. Este ciclo de vida nos permite realizar una
entrega al cliente antes de terminar el proyecto
El modelo de ciclo de vida incremental nos genera algunos beneficios tales co-mo
los que se describen a continuacion:• Construir un sistema pequeño siempre es
menos riesgoso que construir un siste-ma grande. • Como desarrollamos
independientemente las funcionalidades, es más fácil relevarlos requerimientos del
usuario.• Si se detecta un error grave, sólo desechamos la última iteración.• No es
necesario disponer de los requerimientos de todas las funcionalidades en el
comienzo del proyecto y además facilita la labor del desarrollo con la conocida fi-
losofía de divide & conqueror. Este modelo de ciclo de vida no está pensado para
cierto tipo de aplicaciones, sino que está orientado a cierto tipo de usuario o cliente.
Podremos utilizar este modelo de ciclo de vida para casi cualquier proyecto, pero
será verdaderamente útil cuando el usuario necesite entregas rápidas, aunque sean
parciales.

También podría gustarte