Agile Softwareentwicklung ist ein Vorgehensmodell, das eine Anwendung in kurzen, wiederkehrenden Zyklen entwickelt und nach jedem Zyklus ein lauffähiges Zwischenergebnis liefert, an dem sich der weitere Weg ausrichtet. Sie ist die Antwort auf die Schwäche des klassischen Wasserfallmodells, das alle Anforderungen vorab festschreibt und Änderungen erst nach der Fertigstellung zulässt. Die Grundsätze gehen auf das Agile Manifest von 2001 zurück, das funktionierende Software, Zusammenarbeit mit dem Auftraggeber und die Bereitschaft zur Änderung höher gewichtet als umfassende Dokumentation und starre Pläne.
Am bekanntesten ist Scrum mit festen Rollen, Zyklen von meist zwei bis vier Wochen und regelmäßigen Abstimmungen; daneben steht Kanban, das den Arbeitsfluss steuert, statt in Zyklen zu takten. Für Auftraggeber bedeutet das eine andere Rolle als beim Festpreisprojekt: Sie sind laufend eingebunden, priorisieren fortlaufend und sehen früh Ergebnisse, müssen aber Zeit dafür bereitstellen.
Vertraglich passt das schlecht zu einem starren Pauschalangebot, weshalb agile Projekte häufig nach Aufwand oder mit vereinbartem Budgetrahmen bei flexiblem Umfang abgerechnet werden. Der häufigste Fehler ist die halbe Umsetzung, bei der die Rituale übernommen, Umfang und Termin aber weiterhin fixiert werden; damit entfällt genau die Flexibilität, die den Ansatz trägt.