Durante mucho tiempo se ha utilizado el tradicional modelo en cascada, el cual ha demostrado que no refleja adecuadamente la complejidad inherente al proceso de desarrollo de software.
Los problemas que presenta este modelo nacen de su propia estructura, al ser una secuencia de grandes etapas que requieren como hitos la documentación completa antes de continuar con la siguiente etapa. Para solucionar este problema se debe hacer uso de métodos iterativos e incrementales, que unidos a otras prácticas claves como la orientación al manejo de riesgos y la planeación adaptable, permiten de forma natural guiar adecuadamente el proceso de desarrollo de software. En especial se considerará el RUP de IBM, basado en el modelo en espiral que organiza las iteraciones por etapas y fases para obtener una estructura más sólida, clara y ajustable a las necesidades particulares de cada organización. Este artículo tiene como objetivo describir en forma general el desarrollo iterativo, y las ventajas que ofrece su utilización en los procesos de desarrollo
de software.