Model ewolucyjny
Celem modelu ewolucyjnego jest poprawienie modelu kaskadowego poprzez rezygnację ze ścisłego, liniowego następstwa faz
Pozostawia się te same czynności, ale pozwala na powroty, z pewnych faz do innych faz poprzedzających
Tym samym umożliwia się adaptowanie do zmian w wymaganiach i korygowanie popełnionych błędów (oba zjawiska występują w niemal wszystkich praktycznie wykonywanych projektach – stąd model ewolucyjny jest bardziej realistyczny od kaskadowego)
Model ewolucyjny wymaga dodatkowych strategii dla uporządkowania procesu wytwarzania oprogramowania