SPOILER! Kattints ide a szöveg elolvasásához!Másrészt ez egy olyan szoftverfejlesztési megközelítés, amely egy nagy alkalmazás fejlesztési folyamatát kisebb részekre bontja. Mindegyik rész, az úgynevezett „iteráció”, a teljes fejlesztési folyamatot reprezentálja, és külön tervezési, fejlesztési és tesztelési lépéseket tartalmaz. A vízesés modelltől eltérően az iteratív folyamat egyesével ad hozzá funkciókat, így minden iteráció végén működő terméket biztosít, és ciklusról ciklusra növeli a funkcionalitást, ellenben nagyon rugalmatlan.
Minden területnek meg van a maga eljárási rendje, nem átjárhatóak, így nem húzhatod rá a programozási modelleket más területekre, mert a egészen más elvárások, módszerek, és engedélyek, vannak különböző iparágakban, és fejlesztési területen. Az ötvenes években a tudásuk legjavát beleadták, most meg tudatosan rossz, vagy bevizsgálatlan rendszereket építenek egybe. Egy rakétamérnök mélyreható ismeretekkel rendelkezik, amihez képest visszalépés lenne a "trial and error" módszer, az meg mínusz lépés lenne, ha direkt selejtes, bevizsgálatlan, elellenőrizetlen eszközökkel tesztelnek, mint ahogy látjuk is példát.