Die Kundenanforderungen an eine Software werden immer anspruchsvoller. Die Kosten müssen vor Projektbeginn bekannt sein, zugleich möchte man den Entwicklungsprozess im Auge behalten und laufend Anpassungen vornehmen können. Diese Flexibilität wird durch die Methode der agilen Softwareentwicklung sichergestellt. In folgendem Beitrag nehme ich den Prozess unter die Lupe.
Das Wasserfallmodell im Kontrast
Zu Beginn eines Projekts stellt sich die Frage, nach welcher Methode gearbeitet werden soll. Das Vorgehen nach dem Wasserfallmodell erfolgt strikt linear. Der Softwareentwicklungsprozess wird in 5 feste Phasen eingeteilt:
- Anforderungen
- Analyse
- Entwurf
- Implementierung
- Test
Das Modell eignet sich für Abläufe, die präzise definiert werden können. Jede Phase muss abgeschlossen sein, damit die nächste starten kann. Es ist nicht möglich, nach Abschluss einer Phase zurückzugehen und Anpassungen vorzunehmen. Je nach Projekt sind Anpassungen während einer Projektphase jedoch unabdinglich. Es bedarf deshalb einer Methode, die schnell auf Änderungen eingehen und diese spontan umsetzen kann.
Was bedeutet Agilität?
Bei der agilen Softwareentwicklung kann man schneller auf ungeplante Situationen reagieren. Das Projekt wird in Arbeitsphasen, sogenannte „Iterations“, aufgeteilt. Dabei sind die Arbeitsabläufe während jeder Phase klar festgelegt. Der Kunde ist immer auf dem aktuellen Stand, da nach jeder Iteration eine Kommunikation mit dem Lieferanten erfolgt. Die Wünsche werden dann in der nächsten Iteration umgesetzt. Agilität bedeutet also auch einen intensiveren Informationsaustausch mit dem Kunden.
Zauberwort Flexibilität
Anforderungen werden zu Beginn eines Projekts definiert. Je nach Wettbewerbssituation können sich die Anforderungen jedoch ändern. Vielleicht hat der Kunde seine Strategie geändert? Vielleicht entstand eine Idee, welche am Projektbeginn noch nicht vorhanden war? Zeit und Geld ginge verloren, würde man das Projekt von vorne beginnen. Mit der Flexibilität der agilen Softwareentwicklung können solche spontanen Anpassungen direkt in das Projekt einbezogen werden.
Das Erfolgsrezept „Scrum“
Scrum ist das beliebteste und verbreitetste Vorgehensmodell der agilen Softwareentwicklung. Auch hier wird das Projekt in Phasen, sogenannte „Sprints“ eingeteilt. Der Entwicklungszyklus kann in folgende Stufen unterteilt werden:
- Transparenz: Idee umsetzen, entwickeln
- Überprüfung: kritische Prozessanalyse, Fehler erkennen
- Anpassung: Prozesse verbessern
Ziel jedes Sprints ist immer, nach Abschluss ein funktionierendes Produkt mit «Mehrwert» für den Kunden zur Verfügung zu stellen. Der Kunde kann sich ein Bild des Prototyps machen und Verbesserungen für den nächsten Sprint vorschlagen. Somit werden die für den Kunden am wichtigsten befundenen Elemente zuerst fertiggestellt. Dies stellt einen entscheidenden Wettbewerbsvorteil dar, da die Software schon vor dem eigentlichen Ende des Projekts eingesetzt werden kann.
Kostenübersicht dank agilem Festpreis
Fazit
Unternehmensprozesse optimieren
Jetzt Beratungstermin vereinbaren