Überblick über agile Methoden
Die Grundlagen der heute als agile Methoden definierten Arbeitsweisen ist das „Agile Manifesto“ aus dem Jahr 2001. In diesem haben eine Gruppe von 17 Softwareentwicklern eine Reihe agiler Werte (und Prinzipien) formuliert, mit der die Softwareentwicklung verbessert werden soll:
- Individuen und Interaktionen sind wichtiger als Prozesse und Tools
- Funktionierende Software ist wichtiger als umfassender Dokumentation
- Zusammenarbeit mit Kunden heißt mehr als nur Vertragsverhandlungen
- Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans
Daraus folgend leiten sich Prinzipien ab, die ein kooperatives, iteratives und inkrementelles Vorgehen befürworten, das derzeitige genau wie zukünftige Bedürfnisse berücksichtigen kann. Mit iterativ ist ein Vorgehen gemeint, dass einen Prozess so lange wiederholt, bis ein gewünschtes Ergebnis erreicht ist. Idealerweise entwickelt man zunächst nur eine erste funktionale Version einer Produktkomponente. Diese muss den erkannten Bedürfnissen gerecht werden, ohne perfekt zu sein. Sie kann unter realen Bedingungen getestet und im Anschluss verbessert werden. Mit inkrementell ist ein Schritt-für-Schritt-Vorgehen gemeint, bei dem das Projekt organisch wächst. Dies steht Wasserfallmodellen entgegen, die ein Projekt linear fortschreiben, also verschiedene Phasen mit Start- und Endpunkt definieren.
Die Vorteile eines solchen agilen Vorgehens sind:
· Flexibilität: Agile Teams können schnell auf Unvorhergesehenes und neu entdeckte oder entstandene Bedürfnisse reagieren. Der daraus entstehende Aufwand wird durch das Team neu geschätzt.
· Transparenz des Projektfortschritts in Echtzeit: Der Kunde kann während des gesamten Projektes Anpassungen vornehmen und den Ressourcenverbrauch einsehen.
· Durch den regelmäßigen Austausch entsteht ein großes Vertrauen zwischen den Teammitgliedern untereinander und mit dem/den Kunden, der Reibungsverluste in der täglichen Arbeit minimiert.