Flexible und schlanke Softwareentwicklung
Agile Methoden, wie SCRUM, entwickeln ein Produkt iterativ. Jede Iteration (Sprint) hat ein funktionierendes Produkt als Ergebnis. Funktionen des Produkts werden in den Iterationen vervollständigt und verbessert. Der Kunde kann nach jeder Iteration ein Produkt ausgeliefert bekommen, das Ergebnis mit den Zielvorstellungen vergleichen und ggf. die Zielvorgabe korrigieren. Das Entwicklerteam kann zusammen mit dem Kunden Ideen anhand von Fakten (der aktuellen Version) weiterentwickeln. Automatisierte Tests ergänzen die Agile Methode, um das Bereitstellen neuer Versionen bei gleichbleibend hoher Testabdeckung zu vereinfachen.
Die agile Softwareentwicklung räumt mit den Nachteilen des klassischen Wasserfallmodells auf, bei der die Funktionen des Produkts erst zu sehen sind, wenn diese vermeintlich vollständig implementiert sind. Korrekturen sind erst zu einem späten Zeitpunkt möglich, wenn Zeit- und Kosten-Budgets oftmals bereits aufgebraucht sind.