Luego de la Crisis del Software surgen metodologías y procesos formales y predictivos para el desarrollo de software sistémico y estructurado. Son dependientes de requisitos no cambiantes y foco en la documentación como medio de comunicación.

Aquí se incluyen el ciclo de vida en cascada, RUP, y otras metodologías más.

Con el tiempo este conjunto de ideas fueron quedando obsoletas, y en la actualidad se prefiere trabajar con Agilidad debido a los constantes cambios de los requerimientos.

Situaciones

Todavía puede ser conveniente usar métodos como Waterfall o RUP en ciertos casos:

  • Requisitos no cambiantes: por ejemplo desarrollar un cliente HTTP o arquitectura de computadora que cumpla con el estándar ya existente (y confiamos que no cambiará).
  • Documentación requerida: ya que los métodos tradicionales se basan en la documentación como método de comunicación, son convenientes para proyectos que tengan a la documentación como uno de los requisitos.
  • Equipos grandes: la agilidad requiere que sí o sí se utilicen equipos pequeños. Los métodos tradicionales están mucho más preparados para desarrollos de muchos participantes.
  • Organizaciones tradicionales: aplicar agilidad requiere el apoyo de la organización, lo cual no siempre es posible. Hay empresas mucho más acostumbradas a los métodos clásicos.