Agil bleiben lautet das Credo nicht nur im alltäglichen Leben, sondern auch in der Software- und Produktentwicklung. Die agile Entwicklungsmethode ist seit Jahren der Trend. Manche sehen in ihr ein Allheilmittel, andere halten sie für überschätzt. Ihre Vorteile liegen auf der Hand: Mehr Struktur, mehr Produktivität und mehr Flexibilität. Aber was bringt sie wirklich und für welche Projekte und Teams ist sie geeignet?
Kürzere Entwicklungszeit, bessere Ergebnisse? Die agile Entwicklungsmethode unter der Lupe…
Gut strukturiert ist halb gewonnen
Auf was es bei der agilen Entwicklung ankommt, ist schnell erklärt: regelmäßige Meetings, Einteilung in Arbeitsphasen, frühe Praxistests. Wollen Entwickler ihr Projekt mit der agilen Methode angehen, sollten sie es von Beginn an zeitlich und thematisch strukturieren:
- Das Gesamtprojekt in Iterations aufteilen. Das sind Arbeitsphasen mit vorher definierten Zielen.
- Jede Iteration mit einem Meeting abschließen. Das ist die Retrospektive.
- Jedem Feature, das die fertige Software haben soll, Punkte zuweisen. Diese richten sich nach dem Umfang Features. Da ein Team immer eine ähnliche Anzahl an Punkten pro Durchlauf abarbeiten kann, lässt sich jederzeit die noch benötigte Arbeitszeit ermitteln.
Die agile Methode kann durch verschiedene Prozesse umgesetzt werden. Die bekannteste ist Scrum. Bei Scrum heißen die Iterations Sprints und dauern in der Regel 30 Tage. Die Scrum Meetings finden täglich statt.
Ist das Projekt strukturiert, gibt es einige Hilfsmittel für die weitere Umsetzung der agilen Entwicklungsmethode:
- Storycards: Erzählen die Produktgeschichte und enthalten die zu entwickelnden Features. Außerdem zeigen sie, warum ein Feature wichtig ist und wie der Nutzer am Ende damit umgehen wird.
- Product Backlog: Liste der Aufgaben, die noch zu erledigen sind.
- Fun-Retrospectives: Kein Hilfsmittel im klassischen Sinne, aber für gute Meetings sehr hilfreich: kurze kreative Auflockerungsübungen für den Teamspirit.
Der Vorteil dieser Strukturierung? Das Projekt wird übersichtlicher, Probleme lassen sich schneller erkennen und Gegenmaßnahmen können früher eingeleitet werden.
Weitere To-Do`s: Gute Kommunikation und schneller Praxistest!
Entwickler, die jahrelang in ihren stillen Kämmerlein vor sich hin programmieren und nie miteinander reden? Ein Klischee, das die agile Entwicklung nicht bestätigt; den Retrospektiven sei Dank. Diese Meetings sollten so kurz wie möglich sein. Die Teilnehmer besprechen, welche Ziele sie erreicht haben, wer wo steht und was noch zu tun ist.
Außerdem wichtig: Die Praxis früh ins Spiel bringen! Die festgesetzten Zwischenziele werden, sobald erreicht, in eine lauffähige Software überführt. So können die Programmierer fortlaufend überprüfen, ob es Probleme gibt und diese frühzeitig beheben. Ebenso früh sollten Projektverantwortliche den Kunden ins Boot holen. Auch ihm werden die Zwischenschritte präsentiert, sodass er wenn nötig neue Anforderungen benennen kann. So lassen sich Differenzen und Missverständnisse vermeiden.
So geht`s nicht…
Ein Großprojekt, das – so sagen Experten – mit der agilen Entwicklung besser gelaufen wäre, ist das Robaso-Projekt der Bundesagentur für Arbeit. Nach mehrjähriger Entwicklungszeit und einer investierten Summe von 60 Millionen Euro fiel die Plattform im Praxistest durch. Nicht einmal eine Kontonummer konnte der Nutzer im Nachhinein ändern. Die Folge: Das Projekt wurde eingestellt. Dass, wie hier geschehen, Softwareentwicklungen komplett im Müll landen, ist mit der agilen Entwicklungsmethode sehr unwahrscheinlich – Etappenzielen und ständiger Kommunikation sei Dank!
Auch die beste Methode schützt vor Fehlern nicht
Durch die agile Methode bekommt ein Projekt mehr Struktur und Transparenz. Natürlich ist nicht jedes Projekt und nicht jedes Entwicklerteam für die agile Methode geeignet. Vor allem sehr kleine und vertraute Projekte und Teams profitieren nicht unbedingt von ihr. Daher sollten Projektverantwortliche genau abwägen, ob sie den Schritt mit einem eingespielten Team wagen wollen. Trotzdem kann sie bei größeren Projekten die bessere Wahl sein und verhindern, dass am Ende das Ziel verfehlt und Geld verschwendet wird.
Wenn Entwickler am Ende für eine fehlerhafte oder verspätete Programmierung vom Kunden verantwortlich gemacht werden, ist für Freiberufler oder IT-Dienstleister schnell die Existenz in Gefahr. Daher sollten sie sich frühzeitig absichern und auf eine gute Berufshaftpflicht (z.B. IT-Haftpflicht oder Consulting-Haftpflicht) setzen, die ihnen bei Schadenersatzansprüchen Dritter, zum Beispiel bei Programmierfehlern oder Projektverzögerungen hilft.