El modelo incremental de desarrollo de software, propuesto por Harlan Mills en 1980, busca mejorar las debilidades del modelo clásico de cascada mediante un enfoque interactivo y faseado que permite entregar productos operativos en cada incremento. Este modelo es útil en entornos con recursos limitados y permite la gestión de riesgos, aunque requiere de una planificación meticulosa y no es adecuado para sistemas críticos o de alto riesgo. Ofrece ventajas como la reducción del tiempo de desarrollo inicial y la adaptación a cambios, mientras que presenta desventajas relacionadas con la planificación y la demanda de personal.