Agil und glücklich
„Der Mensch plant und Gott lacht!“ Schon dieses alte Sprichwort bringt es auf den Punkt. Und bei der Entwicklung komplexer Software – wie großen Websites, mobilen Apps, Games oder anderen Tools – gilt dieser Umstand umso mehr: Nicht alles lässt sich hier im Vorfeld planen. Seit einigen Jahren hat sich daher die agile gegenüber der iterativen Entwicklung aufgrund zahlreicher Vorteile durchgesetzt.
Die lineare Entwicklung
Denn bei der linearen Entwicklung fällen Kunde und Agentur bereits vor der eigentlichen Entwicklung die wichtigsten Entscheidungen. Durch dieses hohe Maß an Planung und Zeit sind solche Entwicklungen bereits im Vorfeld sehr kostenintensiv – zumal weder Kunde noch Agentur zu Beginn einer komplexen Entwicklung sämtliche Anforderungen (und deren Veränderungen im Zuge neuer technischer Entwicklungen) vorhersehen können.
Der agile Workflow
Bei der agilen Methode können Kunde und Agentur hingegen während des gesamten Entwicklungsprozesses eingreifen, da diese auf kurzen, effektiven Entwicklungszeiträumen basiert. Eine Software, Website oder App wird dabei Schritt für Schritt geplant, realisiert, getestet und optimiert.
Das bringt Flexibilität und eine kontinuierliche, kalkulierbare Verbesserung. Auf diese Weise lassen sich die entwickelten Systeme frühzeitig und mit kurzen Wartezeiten einsetzen, sowie flexibel an neue Anforderungen anpassen. Die folgende Grafik zeigt die drei wesentlichsten Schritte der agilen Software-Entwicklung:
Schritt 1: Die Grobziele und Ideen
Im ersten Schritt eines agilen Workflows definieren Kunde und Agentur gemeinsam die wichtigsten Faktoren – zum Beispiel: Welche Aufgaben genießen Priorität? Handelt es sich um eine Browser-Software, ein fest installiertes Programm oder ist eine App die optimale Lösung? Welche Zielgruppe will der Kunde erreichen?
Schritt 2: Die Anforderungen
Im zweiten Schritt konkretisieren Kunde und Agentur die Anforderungen und passen sie an. Die Prioritäten können sich während dieser Zeit ständig verändern: Überflüssige Anforderungen entfallen, neue kommen hinzu. So lassen sich sowohl kleinere, als auch komplexe Änderungen kontinuierlich berücksichtigen.
Schritt 3: Systemtests
Durch die kurzen Entwicklungsphasen kann der Kunde seine Software schnell ausprobieren und ausgiebig testen. Er hat somit schon während des Entwicklungsprozesses die Möglichkeit, aktiv die Entstehung seiner Software nach eigenen Wünschen und Ansprüchen zu lenken.
Vorteile der agilen Software-Entwicklung
Die Vorteile agiler Entwicklung liegen damit auf der Hand:
- Die Entwicklungsdauer verkürzt sich von oftmals Jahren auf einige Wochen.
- Innerhalb dieser Zeit entstehen bereits mehrere lauffähige Software-Versionen.
- Zusätzliche Funktionen lassen sich modular einbauen.
- Nach jedem Entwicklungszeitraum kann man neue Funktionen testen und bereitstellen.
- Der Kunde kann vor jedem neuen Entwicklungszeitraum Änderungen und Wünsche einbringen und sich so aktiv an der Entwicklung seiner Software beteiligen – bis zum fertigen Produkt.
- Teilfunktionen der Software kann die Agentur aber auch ebenso einfach entfernen oder ersetzen.
- Kunde und Entwickler behalten stets die Übersicht und Kontrolle über den Projektfortschritt.
Die agile Software-Entwicklung bietet unterm Strich also Transparenz, Flexibilität sowie hohe Zeit- und Kostenersparnis.
Rico Wiese ist geschäftsführender Gesellschafter der E-PATROL north GmbH. Die Kernkompetenzen des international operierenden Software-Unternehmens liegen in den Bereichen IT-Dienstleistung und Produktentwicklung. Die agile Softwareentwicklung steht dabei an erster Stelle.