Das iterative Vorgehen ist der Gegensatz zum Vorgehen nach dem Wasserfallmodell. Während bei der klassischen Entwicklung nach dem Wasserfall das Produkt „in einem Wurf“ entsteht, sieht die agile Entwicklung von vornherein die Entstehung des Produkts in mehreren Schritten bzw. Zyklen vor.
Im Agilen Manifest steht: „Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne“. Wird dieser Grundsatz befolgt, bekommt der Kunde frühzeitig und regelmäßig Teilprodukte zu sehen, die er mit seinen Erwartungen abgleichen kann. Daraus ergibt sich als eine der wichtigsten agilen Techniken der Einsatz von Iterationen bei der Produktentwicklung. In der agilen Methodik Scrum werden sie als „Sprint“ bezeichnet.
Typischerweise werden während jeder Iteration die wesentlichen Projektphasen durchlaufen, die auch das klassische Projektmanagement vorsieht. Es werden also auch hier z. B. Anforderungen erfasst, ein Entwurf gemacht, ein (Teil-)Produkt entwickelt und getestet. Im Unterschied zur klassischen Vorgehensweise kann im Agilen jedoch nach Abschluss jeder Iteration Bilanz gezogen werden, ob die Produktentwicklung noch in die richtige Richtung läuft oder ob nachgesteuert werden sollte. So wird mit jeder Iteration das Gesamtprodukt vorangebracht, ohne dass bereits am Anfang des Projektes die Anforderungen an dieses Gesamtprodukt uneingeschränkt bekannt sein müssen.
Ein wesentlicher Vorteil der iterativen Vorgehensweise besteht darin, dass am Anfang der Produktentwicklung noch nicht genau feststehen muss, wie das Produkt am Ende aussehen wird. Andere agile Techniken helfen, dass der Prozess dabei nicht zum Blindflug wird.
In den meisten Projekten wird bereits in der einen oder anderen Form iterativ vorgegangen. Das Grundprinzip ist also nicht sonderlich neu. Im klassischen Projektmanagement existiert der Begriff „Rolling Wave Planning“. Damit ist im Prinzip ebenfalls eine iterative Vorgehensweise gemeint.
Im Agilen Projektmanagement wird das iterative Vorgehen mit Inkrementen und Anwendungsfällen kombiniert. Es ist dadurch etwas komplexer. Gleichzeitig wird jedoch damit sichergestellt, dass systematisch das bestmögliche Produkt entwickelt wird, also die Kundenbedürfnisse von dem Produkt möglichst gut bedient werden. Dabei gilt der Grundsatz, dass ein frühes, vorübergehendes Scheitern aufgrund missverstandener Kundenbedürfnisse besser ist, als ein Scheitern bei der Endabnahme des Produktes.
Zu den Vorteilen des iterativen Vorgehens zählt auch, dass das Team nach jeder Iteration mit einem gewissen Stolz auf eine fertige Produktversion blicken kann. Das ist natürlich deutlich motivierender, als wenn man über einen langen Zeitraum nur angefangene Baustellen und halbfertige Arbeiten hat.