El motivo de este post viene a raíz de una reunión en la que se debatía el mejor ciclo de vida para un proyecto, y en la que alguien dijo: “el ciclo de vida iterativo e incremental es un riesgo ya que es algo nuevo, y no hay mucha experiencia”. Y como esto de que “el ciclo de vida iterativo e incremental es nuevo” ya lo había escuchado muchas veces, me dije, voy a dejar en el blog testimonio escrito de la “longevidad” de dicho ciclo de vida, así hago mi pequeña contribución en google a evitar que quieran seguir haciéndole “liftings”.

Un ciclo de vida iterativo e incremental es aquel en que se va liberando parte del producto periódicamente, iterativamente, poco a poco, y cada entrega es un incremento respecto a la anterior; cada fase (requisitos, análisis, diseño, etc.) se realiza varias veces. Lo cual difiere del desarrollo en cascada, donde las fases del ciclo de vida (requisitos, análisis, diseño, etc.) se realizan (en teoría) una única vez, y el inicio de una fase no comienza hasta que termina la fase que le precede.

Con la creciente popularidad de los métodos ágiles en muchas ocasiones se cree que el ciclo de vida iterativo e incremental es una práctica moderna, nueva frente al antiguo ciclo de vida en cascada, pero su aplicación data de… mitad de los años 50, y desde entonces ha sido ampliamente usado y se ha escrito mucho sobre él.

En 1950 la construcción del avión cohete X-15 supuso un hito en la aplicación del ciclo de vida iterativo e incremental, hasta el punto de que dicho ciclo de vida supuso una de las principales contribuciones al éxito del proyecto. Aunque el proyecto X-15 no era un proyecto esencialmente de software, es importante mencionarlo porque algunos de los participantes en el mismo (con su correspondiente experiencia en dicho ciclo de vida) comenzaron a utilizarlo en la NASA en 1960 para el desarrollo software, en un proyecto llamado Mercury, del que a su vez algunos participantes en el mismo trabajarían después en IBM Federal Systems Division, donde también se aplicó el ciclo de vida iterativo en incremental al desarrollo software. El proyecto Mercury (1960) trabajó con iteraciones diarias, aplicó revisiones técnicas a los cambios, y aplicó la técnica de planificar y escribir las pruebas antes de cada micro incremento (¿a alguien le recuerda esto a Extreme Programming?)

La primera referencia documental que describe y recomienda el desarrollo iterativo es de 1968, un informe de Brian Randell and F.W. Zurcher que trabajaban en el IBM T.J. Watson Research Center, y que se puede encontrar aquí.

Pues eso, ante todo veterano, el ciclo de vida iterativo e incremental.

  • PDF
  • Twitter
  • LinkedIn
  • del.icio.us
  • Facebook
  • RSS
  • Google Bookmarks
  • Blogplay
  • BarraPunto
  • Meneame
  • Netvibes

Si quieres puedes suscribirte al RSS del blog (¿qué es un RSS?)

Otras entradas relacionadas con esta:

  1. El primer método ágil, DSDM
  2. ¿CMMI o Métodos Ágiles?
  3. Algunos retos de los profesionales del software. La memoria histórica (2/4)
  4. Aún hoy se olvida con frecuencia que…
  5. Algunos retos de los profesionales del software (1/4)