Este modelo de ciclo de vida es el que más de moda se encuentra de un
tiempo a esta parte ya que es utilizado en diferentes metodologías
relacionadas con la programación extrema y con estrategias ágiles de
desarrollo de software.
El concepto es simple, el producto software se desarrolla por
incrementos en el que cada iteración (incluida la primera) obtiene una
versión funcional del producto, de esta forma el sistema se desarrolla
poco a poco y obtiene un feedback continuo por parte del usuario.
En este modelo, en cada incremento se realizan las diferentes etapas
de desarrollo de software, empezando por el análisis y terminando con la
implantación y aceptación del sistema.
Tiene cierta similitud con el espiral,
con la diferencia de que en este caso no se hace hincapié en el
análisis de riesgos y si tomamos como referencia la variante Win &
Win de Boehm, no tiene explícito el proceso de negociación bajo un
prisma Ganar – Ganar entre las diferentes partes implicadas en el
proyecto.
Las iteraciones no tienen por qué realizarse de manera secuencial,
pudiendo haber varias ejecutándose simultáneamente siempre y cuando no
existan incompatibilidades entre ellas (básicamente que se encuentren en
fases distintas del proceso de desarrollo).
Este modelo de ciclo de vida es mi favorito, creo en él ya que estoy
convencido que es el que más se aproxima a la realidad de un proyecto de
desarrollo de software y sus contingencias. Tiene sus inconvenientes,
como el hecho de que tal vez obtener una primera versión que se pueda
considerar completa del producto puede tardar más en obtenerse y costar
más que por ejemplo con un ciclo de vida en cascada, ya que en cada
iteración se tiene en cuenta el feedback del usuario por lo que además
de nuevas funcionalidades habrá modificaciones sobre lo de desarrollado
en iteraciones anteriores.
No quiero decir con esto que el software necesariamente vaya a costar
más de esta manera, ya que lo que hace es repercutir en el proceso de
desarrollo parte del coste del mantenimiento, que recordemos que un
autor como Robert Glass lo estima entre el 40 y el 80% del coste total del software.
Lo que sí se necesita son usuarios involucrados en el proyecto
durante bastante tiempo y de manera constante, algo que no siempre es
sencillo encontrar.
Pese a que es mi modelo favorito, sí que considero que es interesante
tener una visión inicial del producto software más allá de las primeras
iteraciones, ya que independientemente de que se definan una serie de
metas intermedias creo que es interesante desde el inicio saber más o
menos a dónde se quiere llegar.
http://jummp.wordpress.com/2011/03/31/desarrollo-de-software-ciclo-de-vida-iterativo-incremental/
No hay comentarios.:
Publicar un comentario