Este documento describe y compara varias metodologías de desarrollo de software, incluyendo el modelo en cascada, incremental, de prototipos, en espiral, RUP y XP. Cada metodología tiene ventajas y desventajas. Por ejemplo, el modelo en cascada es fácil de implementar pero lineal, mientras que el modelo incremental permite entregas tempranas pero requiere mucha planeación. En general, no existe una mejor metodología sino que depende del proyecto en particular.