sábado, 25 de febrero de 2017

CICLO DE VIDA DEL PRODUCTO


Frente a la predicción… adaptación, o el ciclo de vida iterativo e incremental

Es curioso ver como el concepto “ciclo de vida”, una de las piezas más fundamentales, y transcendentales, de la gestión de un proyecto software produce tanta confusión.
En parte, tampoco es de extrañar, debido a que no existe una única terminología al respecto, existen muchas definiciones, conceptos confusos, etc. Por eso vamos a aclarar los principales tipos de ciclos de vida que hay:

Cascada

Las fases del ciclo de vida (requisitos, análisis, diseño, etc.) se realizan (en teoría) de manera lineal, una única vez, y el inicio de una fase no comienza hasta que termina la fase anterior.
Su naturaleza es lineal, típica de la construcción de productos físicos y su principal problema viene de que no deja claro cómo responder cuándo el resultado de una fase no es el esperado.
El ciclo de vida más criticado en los últimos años. En muchos proyectos su implantación ha sido un fracaso, mientras que hay otros proyectos que trabajan perfectamente de esta manera.

El ciclo de vida incremental

Cada iteración (una iteración es un periodo de tiempo, no confundir con el ciclo de vida iterativo, que veremos luego, siendo este punto confuso, por las definiciones) contiene las fases del cascada estándar, pero cada iteración trabaja sobre un sub conjunto de funcionalidad. La entrega total del proyecto se divide en subsistemas priorizados.
Desarrollar por partes el producto software, para después integrarlas a medida que se completan. Un ejemplo de un desarrollo puramente incremental puede ser la agregación de módulos en diferentes fases. El agregar cada vez más funcionalidad al sistema.

El ciclo de vida iterativo

En cada ciclo, iteración, se revisa y mejora el producto. Un ejemplo de desarrollo iterativo es aquel basado en refactorizaciones, en el que cada ciclo mejora más la calidad del producto.
Es importante señalar que este ciclo no implica añadir funcionalidades en el producto, pero si la revisión y la mejora.

Iterativo e incremental

Incremental = añadir, iterativo = retrabajo
Se va liberando partes del producto (prototipos) periódicamente, en cada iteración, y cada nueva versión, normalmente, aumenta la funcionalidad y mejora en calidad respecto a la anterior. Aquí hay un post con más información.
Además, el ciclo de vida iterativo e incremental es una de las bases de un proyecto ágil, más concretamente, coniteraciones cortas en tiempo, de pocas semanas, normalmente un mes y raramente más de dos

No hay comentarios:

Publicar un comentario