Agile Softwareentwicklung

… heißt: Auf sich verändernde Anforderungen reagieren

Agil bedeutet nicht reaktionär und planlos

Agile (Entwicklungs-)Methoden und Prozesse zeichnen sich dadurch aus, dass initiale Entwurfs- und Planungsphasen auf ein Minimum reduziert werden. Demgegenüber wird versucht, in regelmäßigen und kurzen Abständen mit dem Kunden gemeinsam abzustimmen, ob sich das Produkt in die richtige Richtung entwickelt. Dabei kann auch zeitnah geprüft werden, ob die anfangs erfassten Anforderungen und Wünsche noch Bestand haben oder ob diese angepasst werden müssen. Solche Entwicklungsphasen oder Sprints dauern in der Regel nur wenige Wochen und sollten mit einem funktionierenden Prototypen enden. Diese werden vom Kunden begutachtet und abgenommen.

 

Die Vorteile

  • Der Entwicklungsprozess wird für den Kunden transparenter und er bekommt Teillösungen ausgeliefert und gezeigt.
  • Das Endprodukt wird besser an die eventuell unklaren Anfangsanforderungen angepasst.
  • Die Zufriedenheit mit dem Produkt steigt.
  • Die Wettbewerbsfähigkeit kann über die Entwicklungszeit hinweg erhalten oder verbessert werden.

Die Nachteile

  • Der Kunde hat einen höheren Aufwand und wird in den Entwicklungsprozess regelmäßig eingebunden.
  • Die tatsächlichen Entwicklungskosten sind oft schwer abzuschätzen und hängen stark von den Änderungen des Kunden und den damit verbundenen Aufwänden ab.
  • Dokumentation steht oft der Entwicklung funktionierender Komponenten nach.

Was ist die Aufgabe des Kunden?

Verantwortung übernehmen

Der Kunde steht dem Entwicklerteam zu Beginn und zum Abschluss eines Sprints bzw. einer neuen Entwicklung zur Verfügung.

Dabei beantwortet er Fragen zu den Anforderungen, die er stellt. Einzelne Arbeitspakete oder Funktionen werden für den nächsten Sprint ausgewählt.

Zudem findet eine Abnahme über die Arbeiten aus dem letzten Sprint statt.

Vertrauen schenken

Entwicklungsphasen werden durch das Entwicklerteam selbst organisiert! Entwickler wissen oft besser, welche Anforderungen oder Funktionalitäten sich effizient miteinander in einem Sprint kombinieren lassen oder welche Abhängigkeiten dazwischen bestehen. Dabei werden natürlich auch die Prioritäten des Kunden mit berücksichtigt. Trotzdem muss der Kunde dem Entwicklerteam vertrauen, eine gute Wahl zu treffen und seine Vorgaben umzusetzen. Während des laufenden Sprints sollte der Kunde die Produktivität des Teams nicht durch äußere Einflüsse stören. Zum Ende des Sprints und zum Start des nächsten kann wieder Feedback eingebracht werden.

Die typischen Pahsen eines agilen Projektes

  1. Anforderungen abstimmen und Sprint planen
  2. Design und Planung
  3. Praktische Entwicklung und Ausführung
  4. Integration der neuen Teile und Test der Funktionen (Staging-Deployment)
  5. Review, Abnahme und Feedback durch den Kunden  in einer Testumgebung (Staging)
  6. Finale Auslieferung des Projektes zur tatsächlichen Nutzung (Live-Deployment)
Schematisches Diagramm der (Sprint-)Zyklen von agilem Projektmanagement mit Analyse, Design & Plan, Entwicklung, Integration & Test, sowie Review & Abnahme

Weiterführende Links:

Sie haben Fragen an uns?

Dann schreiben Sie uns doch einfach, wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen.