Los modelos evolutivos son iterativos y permiten a los ingenieros desarrollar versiones cada vez más completas del software. Existen dos tipos principales: el desarrollo exploratorio, donde el sistema evoluciona agregando nuevos atributos, y los prototipos desechables, donde el objetivo es comprender mejor los requerimientos del cliente. Algunos problemas son que el proceso no es visible para los administradores y los sistemas pueden desarrollar una estructura deficiente.