En sus inicios, en la década de los 70´s, el desarrollo de software era un proceso totalmente artesanal, a través de metodologías tradicionales. Éstas eran efectivas al cumplir con la función de gestión y desarrollo de sistemas de software. Sin embargo, esta industria comenzó a sufrir cambios por la necesidad constante de modificar los requerimientos del proyecto y la falta de involucramiento por parte de los usuarios del sistema. Estos inconvenientes conllevaron a la necesidad de mejorar el proceso y dirigir los proyectos hacia la meta planteada. Las primeras aportaciones fueron extraídas de conceptos y metodologías ya existentes en otras áreas como la ingeniería, construcción y automotriz. Por ejemplo, el proceso del desarrollo del software estaba dividido en etapas de manera secuencial, lo que mejoró la necesidad latente de adaptación e innovación en el campo del software.
Las metodologías tradicionales se caracterizan por tener una estructura de desarrollo claramente establecida, lineal y poco flexible ante cambios de un entorno volátil. Presentan un alto costo al ser implementadas. Tienen roles, actividades y artefactos claramente definidos.
Es conocida por tener una estructura establecida y por ser poco flexible ante cambios que pueden surgir en el entorno. El clásico método de cascada (waterfall) tiene presente una estricta secuencia de etapas que deben cumplirse en las diferentes fases del proyecto.
Para avanzar a la siguiente etapa, la anterior debió haberse cumplido en su totalidad. De lo contrario, retroceder a etapas anteriores puede representar en la mayoría de los casos frustración al equipo, incremento en el costo del proyecto y consumo de tiempo no planificado.
Esta metodología demanda una documentación exhaustiva, clara y detallada de todo el proyecto. Y centran su atención en cumplir un plan establecido desde el inicio del desarrollo, por todas las partes involucradas.
Entre las principales metodologías tradicionales tenemos los ya tan conocidos RUP y MSF entre otros, que centran su atención en llevar una documentación exhaustiva de todo el proyecto y centran su atención en cumplir con un plan de proyecto, definido todo esto, en la fase inicial del desarrollo del proyecto.
Ventajas
- Evaluación en cada fase que permite cambios de objetivos
- Funciona bien en proyectos de innovación.
- Es sencillo, ya que sigue los pasos intuitivos necesarios a la hora de desarrollar el software.
- Seguimiento detallado en cada una de las fases.
Desventajas
- La evaluación de riesgos es compleja
- Excesiva flexibilidad para algunos proyectos
- Estamos poniendo a nuestro cliente en una situación que puede ser muy incómoda para él.
- Nuestro cliente deberá ser capaz de describir y entender a un gran nivel de detalle para poder acordar un alcance del proyecto con él.