Vorteile agiler Methoden
Was ist agile Softwareentwicklung?
Stellen Sie sich vor, sie wollen mit einem Segelschiff einen fremden Hafen ansteuern. Würden Sie dann vor der Reise den Wind messen, den Kurs berechnen, das Ruder festbinden und schließlich nach einer festgelegten Zeit kontrollieren, ob Sie auch wirklich am Ziel angekommen sind? Sicher nicht! Denn was passiert, wenn sich der Wind gedreht hat? Was wenn die Karte ungenau war oder wenn Sie feststellen, dass Sie doch lieber in einem anderen Hafen anlegen möchten?
In einer vergleichbaren Situation befindet sich häufig der Kunde im klassischen Softwareentwicklungsprojekt: Er muss seine Anforderungen an die neue Software in Pflichten- oder Lastenheften haarklein aufschreiben – und zwar vor Projektbeginn. Hierdurch verzögert sich nicht nur der Projektstart; in den meisten Fällen kristallisiert sich auch erst im Laufe des Entwicklungsprozesses heraus, welche Funktionen im Einzelnen überhaupt benötigt werden. Um die neuen Anforderungen noch in das System zu integrieren, sind dann meist große Anstrengungen nötig, häufig verbunden mit zeit- und kostenintensiven Nachverhandlungen, die weder dem Kunden noch den Entwicklern etwas nützen.
Vorteile für Kunden
Agile Softwareentwicklung bedeutet Flexibilität
Agile Entwicklungsmethoden kommen ohne Pflichtenhefte aus. Der Kunde gibt am Anfang nur einige wenige Basisfunktionalitäten vor, das Projekt startet sofort ohne Verzögerung. Während des Projektverlaufs können jederzeit neue oder geänderte Anforderungen definiert werden, z.B. weil festgestellt wurde, dass die Software andere Merkmale haben muss als bisher angenommen; oder weil sich die Wettbewerbssituation geändert hat. Durch dieses iterative Vorgehen können Erfahrungen aus dem laufenden Projekt in den weiteren Entwicklungsprozess mit einfließen, und es wird nur das entwickelt, was tatsächlich von Nutzen ist.
Agile Methoden sparen Zeit und Nerven
Zum Erfolg von Entwicklungsprojekten trägt einfache und effiziente Kommunikation mindestens ebenso bei wie die eingesetzten Technologien. Deswegen arbeiten die Entwickler in agilen Projekten grundsätzlich beim Kunden vor Ort und stehen im ständigen Kontakt mit ihm. Details können so schnell geklärt, Missverständnisse sofort beseitigt werden. Niemand muss mehr schriftliche Anfragen stellen und sich ärgern, wenn diese zu spät beantwortet werden. Weil die Entwickler regelmäßig Feedback vom Kunden erhalten, wirdd die Gefahr minimiert, dass sie sich verrennen und die Software in eine falsche Richtung entwickeln. Auf der anderen Seite kann sich der Kunde jederzeit den aktuellen Systemzustand vorführen lassen, er behält so stets den Überblick und die Kontrolle über das Projekt.
Agiles Vorgehen heißt: sich einen echten Wettbewerbsvorteil verschaffen
Die kurzen Kommunikationswege mit den Entwicklern führen auch dazu, dass das System insgesamt früher fertig gestellt wird, was einen echten Wettbewerbsvorteil bedeutet (Time-To-Market). Darüber hinaus werden stets diejenigen Elemente des Systems zuerst fertig gestellt, die dem Kunden am wichtigsten sind – die also den höchsten Geschäftswert erzielen. So können große Teile der neuen Software schon lange vor Ende des Gesamtprojektes produktiv eingesetzt werden.
Vorteile für Entwickler
Wer agil vorgeht, liefert Qualitätsarbeit ab
Natürlich möchte jeder Entwickler sich mit seiner Arbeit identifizieren und wirklich gute Software erstellen. Agile Methoden liefern dafür den passenden Rahmen: So werden die Aufwände von den Entwicklern selbst geschätzt, denn diese müssen ja hinterher auch dafür geradestehen. Und durch das zyklische Vorgehen können immer wieder individuelle Messungen für das jeweilige Projekt vorgenommen werden, so dass jeder im Entwicklungsteam direkt aus seinen eigenen Erfahrungen lernen kann und stets eine realistische Vorstellung der tatsächlichen Entwicklungsgeschwindigkeit besteht. So muss niemand auf Kosten der Qualität einem unrealistischen Plan hinterherhetzen.
Agile Methoden führen zur direkten Kommunikation mit den Anwendern
In agilen Projekten sprechen die Entwickler direkt mit den Anwendern - und das am besten täglich. Diese direkte Kommunikation führt nicht nur dazu, dass die Entwickler besser verstehen, was die Anwender eigentlich für eine Software benötigen; gleichzeitig wächst auch das Verständnis der Anwender, wenn mal eine Schätzung von den Entwicklern korrigiert werden muss. Insgesamt ist eine gute Zusammenarbeit zwischen Entwicklern und Kunden sowie eine gemeinsame Vertrauensbasis von unschätzbarem Wert für jedes Projekt!
Mehr Spaß bei der Arbeit durch agiles Vorgehen
Zugegeben: alle Menschen sind verschieden, und was dem Einen Spaß bringt, kann für den Anderen ein Graus sein. Dennoch zeigt die Erfahrung, dass die meisten Entwickler in agilen Projekten mehr Spaß haben als in klassischen Projekten. Hierzu dürfte die enge Zusammenarbeit mit den Kollegen (tägliche Standup-Meetings, Retrospektiven,Pair-Programming ) ebenso beitragen wie die direkte Kommunikation mit den Anwendern, das häufige Ausliefern neuer Versionen, die eigenverantworliche Arbeit oder die Erlaubnis zum lebenslangen Lernen.
Und wo ist der Haken?
Wenn agile Softwareentwicklung tatsächlich all die aufgezeigten Vorteile mit sich bringt, dann drängt sich die Frage geradezu auf, wo denn der Haken bei der Sache liegt. Tatsächlich ist es unbequem, agile Methoden erfolgreich einzuführen und durchzuhalten. Denn dazu muss man sich von alten Gewohnheiten trennen, neue Wege auskundschaften und immer wieder überprüfen, wie man sich noch weiter verbessern kann.
Wenn Sie bei sich agil vorgehen möchten, fangen Sie behutsam an. Führen Sie zu Beginn nur eine neue Methode ein und überprüfen Sie immer wieder, wie weit diese für Sie trägt.









