Software-Entwicklung, agile Methoden, agile Software-Entwicklung

Im schlimmsten Fall läuft es so ab, dass die Anforderungen an die Software unstrukturiert an die Entwickler kommuniziert und dann “auf Zuruf” umgesetzt werden. Ist ein Entwickler mit einer Aufgabe fertig, wird ihm die nächste zugeteilt.

Stolpersteine bei der Software-Entwicklung

Gegenüber einer solchen planlosen Vorgehensweise stellt ein Vorgehen nach dem Wasserfall-Modell bereits einen großen Fortschritt dar. Hier werden im Vorfeld alle Anforderungen an die Software vollständig durchdacht und dokumentiert, konzipiert, designt und anschließend umgesetzt. Zentrales Kennzeichen ist dabei – wie der Name schon ausdrückt – das stufenweise Vorgehen, wobei eine Stufe erst vollständig abgeschlossen wird, bevor die nächste eingeleitet wird.

Doch auch mit diesem Vorgehen ist ein erfolgreiches Softwareentwicklungsprojekt noch lange nicht sichergestellt. Einer aktuellen Studie der Standish Group zufolge sind nur 16 Prozent aller klassischen IT-Projekte erfolgreich. Dies bedeutet, dass in 84 Prozent der Projekte entweder die Kosten aus dem Ruder laufen, Zeitpläne überzogen werden oder wichtige Features nicht implementiert sind. Keine dieser Einschränkungen kann sich ein StartUp leisten. Eine Lösung bieten gerade für Startups agile Vorgehensmodelle wie eXtreme Programming oder das stark an Bedeutung gewinnende Scrum. Warum das der Fall ist, werden wir im Folgenden genauer betrachten.

Keine Zeit für Wasserfall-Planung: Agile Software-Entwicklung

Anzeige

Häufig sind es in Startups die Unternehmensgründer selbst, die das gesamte Produktmanagement übernehmen. Es wird also parallel zu den Komplexen Vermarktung, Organisation, Personal und Finanzen betrieben. Es ist damit praktisch unmöglich, zum Projektstart alle späteren Features für den Launch zu bedenken und zu konzipieren, wie es das Wasserfall-Modell fordert. Deshalb ist das iterative Vorgehen hier von großem Vorteil: Erst wenn klar ist, dass eine Funktion auch wirklich in einer der nächsten Iterationen umgesetzt wird, setzen sich die für das Produkt verantwortlichen Personen an die Konzeption – der konzeptionelle Aufwand verteilt sich damit deutlich besser über die Zeit hinweg.

StartUps sind klassischerweise in einem sehr dynamischen Umfeld tätig. Es ist kaum denkbar, dass sich die Marksituation über den gesamten Zeitraum vom Projektstart bis hin zum Launch nicht (gravierend) ändert: Über Nacht können neue Konkurrenten auftauchen, durch Änderungen bei den Big-Playern wie Google, Facebook &  Co. muss das ganze Konzept neu überdacht werden, usw.

Während beim klassischen Wasserfallmodell solche Änderungen unerwünscht sind und den vorab erstellten Plan über den Haufen werfen, sind sie in agilen Vorgehensmodellen ausdrücklich erwünscht, wenn sie dem Unternehmen zur Erreichung eines Wettbewerbsvorteils dienen. Da bei den agilen Vorgehensmodellen nur die Aufgaben für die jeweils aktuelle Iteration wirklich fixiert sind, lässt sich sehr kurzfristig auf sich ändernde Anforderungen reagieren. Bereits für die nächste Iteration können erforderliche Anpassungen eingeplant werden. Da im Vorfeld auch keine umfassenden Konzeptionen für Features späterer Iterationen nötig sind, die ggf. plötzlich obsolet werden, zeigen die agilen Methoden einmal mehr ihre Ressourcen-schonende Seite.

Prozessoptimierung dank Remote-User-Tests

Agile Vorgehensmodelle eignen sich besonders gut, um User in die Entwicklung einzubinden und die wichtigsten Bereiche der Software von Iteration zu Iteration immer besser und nutzerfreundlicher zu machen. Hierfür eignen sich unter anderem die so genannten Remote-User-Tests besonders gut. Bei diesen werden Nutzer bei der Arbeit mit der Anwendung inklusive ihrer Anmerkungen zu den Oberflächen aufgezeichnet.

Aus der Auswertung dieser Aufzeichnungen resultieren wertvolle Erkenntnisse über Optimierungspotenziale, entsprechende Verbesserungen können für die nächsten Iterationen eingeplant (und also kurzfristig umgesetzt) werden. Gerade die erfolgskritischen Prozesse wie etwa die Registrierung, die erste Einrichtung der Software oder bei E-Commerce-Projekten der Bestellprozess lassen sich so kontinuierlich und in kurzen Abständen verbessern.

Frühzeitig bereit für einen Go-Live

Anzeige

Am Ende einer jeden Iteration steht ein fertiges Produkt, das potenziell auslieferungsfähig ist, also stabil läuft. Das ist besonders dann vorteilhaft, wenn es in die ganz heiße Phase vor dem Go-Live geht. Wurde konsequent entsprechend den Prioritäten gearbeitet, sind die elementaren Bereiche der Anwendung schon seit einigen Iterationen lauffähig in der Software vorhanden.

Dann geht es nur noch um das eine oder andere Feature oder eine Optimierung der bereits auslieferungsfähigen Software. Ergibt sich plötzlich die Chance, unvermittelt Coverage von einem großen Technologie-Blog zu erhalten, besteht dadurch natürlich auch die Möglichkeit, den Veröffentlichungszeitpunkt des Produktes kurzfristiger anzupassen.

Teamarbeit wird bei der agilen Software-Entwicklung großgeschrieben

Das Team steht bei der agilen Software-Entwicklung im Vordergrund. Enge, interdisziplinäre Zusammenarbeit ist gefordert. Agile Methoden fördern den Austausch, es wird nicht von oben herab diktiert, die Mitarbeit aller Beteiligten ist ausdrücklich erwünscht. Das schweißt das Team noch stärker zusammen.

Dank agiler Entwicklungsmethoden wird aus einem Kompromiss aus Kosten, Zeit und Qualität (wie beim Wasserfall-Modell) ein Kompromiss aus Kosten, Zeit und Funktionalität. Für ein StartUp ist es vor allem wichtig, sofort ein hochqualitatives Produkt am Markt zu haben. Die besten Voraussetzungen dafür bieten agile Vorgehensweisen.

Bildmaterial: Ozgary
GD Star Rating
loading...
Alle Bilder in diesem Artikel unterliegen der Creative-Commons-Lizenz (Namensnennung-Keine Bearbeitung, CC BY-ND; Link zum rechtsverbindlichen Lizenzvertrag). Ausgenommen sind anders gekennzeichnete Bilder unter anderem von Panthermedia, Fotolia, Pixelio, Morguefile sowie Pressefotos oder verlagseigenes Bildmaterial.