Veterano ciclo de vida iterativo e incremental
Archivado en agil, buenas prácticas, ciclos de vida, errores y riesgos, gestión de proyectos, hitos historicos en Jan.10, 2010 por jgarzas
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.
Si quieres puedes suscribirte al RSS del blog (¿qué es un RSS?)
Otras entradas relacionadas con esta:

January 10th, 2010 a las 8:31 pm
Esto nos recuerda dos cosas:
1. La longevidad del ciclo de vida iterativo e incremental, con proyectos que atestiguan su éxito.
2. Que las “nuevas” metodologías y ciclos de vida que van apareciendo no son más que una mejora, evolución, adaptación, etc. de algo que se viene utilizando desde hace mucho.
Buen post!
January 10th, 2010 a las 11:36 pm
Vamos que seguimos con lo de siempre, no inventamos nada nuevo, aunque veamos todo nuevo
January 11th, 2010 a las 11:33 am
Hola, otra cosa para hablar sería que los métodos ágiles usan iterativos E incrementales, no iterativos O incrementales, sobre esto también hay mucho lío. Saludos
January 15th, 2010 a las 8:38 am
[...] contempla el ciclo de vida iterativo e incremental, involucrar continuamente al usuario y la adaptación al [...]
March 9th, 2010 a las 8:45 pm
[...] Desconocer parte del pasado y evolución de nuestra ingeniería del software también provoca que, a veces, se siga aún creyendo en prácticas que hace mucho tiempo la experiencia dijo que no funcionaban, como el clásico de intentar solucionar los problemas de tiempo en proyectos software añadiendo más personas a un proyecto ya en marcha. O a que aún se siga creyendo en los “silver bullets”. O a que olvidemos buenas prácticas que llevan ahí desde hace mucho tiempo (como comentábamos en el post del veterano ciclo de vida iterativo e incremental). [...]
June 6th, 2010 a las 10:09 pm
[...] “repetible”, etc., frente a “integración continua”, “refactoring”, “iterativo e incremental”, etc. O quizás porque CMMI se ve antiguo y los métodos ágiles algo moderno, aunque piezas [...]