Un proceso efectivo proporciona normas para la realización de aplicaciones eficientes y de calidad. Además guía a los distintos participantes (desarrolladores, clientes y usuarios) de un proyecto.
El método debe ayudarnos a conseguir aplicaciones con características tales como extensibilidad, cambiabilidad y reusabilidad y a descubrir, tempranamente, los riesgos que pueden llevar al fracaso del software.
El proceso de desarrollo de software está compuesto por varias actividades diferentes. La pregunta que nos surge es: ¿cómo deben organizarse estas actividades para lograr la calidad deseada en el producto final?