Bei der Softwareentwicklung rückt ein Wort immer mehr in den Fokus: „agil“. „Agil“ meint hierbei schnell und beweglich und ist quasi zum Modewort bei der Softwareentwicklung geworden. Mobile Methoden gibt es schon einige Jahre, verstärkt sind sie aber erst in diesem Jahrzehnt auf dem Markt. Waren es 2005 14 Prozent der Software, die so programmiert wurden, sind es 2014 bereits 84 Prozent. Damit hat sich die agile Softwareentwicklung zu einem methodischen Standard gemausert. Durchgesetzt hat sich dieses Prinzip, da sich hier dauerhaft bessere und effizientere Leistungen in Produktion, Dienstleistungen, Handel oder Logistik erzielen lassen.

Wasserfallmethode hat sich in der Softwareentwicklung überlebt

Traditionell basiert die Softwareentwicklung auf der Wasserfallmethode. Dies ist ein lineares Entwicklungsmodell, das Stück für Stück zum Ergebnis führt. Diese Vorgehensweise ist immer dann von Vorteil, wenn das Ziel und Ergebnis der Entwicklung deutlich vorhersehbar sind. Dann lassen sich auch die einzelnen Arbeitsschritte klar definieren. Vergleichen kann man dieses mit dem Bauprozess eines Hauses, dort wird das Endergebnis „Haus“ zu Anfang festgelegt und dann die einzelnen Gewerke in der richtigen Reihenfolge bestimmt. Diese Funktionsweise der Softwareentwicklung ist heute jedoch nicht mehr State oft the Art. Denn die Entwicklungsprozesse laufen immer schneller, worauf Unternehmen reagieren müssen und wollen. Auch die Herangehensweise hat entscheidende Nachteile. Durch die Schritt-für-Schritt-Entwicklung bei der Wasserfallmethode beginnen die nächsten Schritte immer erst dann, wenn eine Phase abgeschlossen ist. Zudem können neue Entwicklungen nur wieder unter Veränderungen der Planung berücksichtigt werden. Dies würde zu einer deutlichen Verlangsamung führen. Die entwickelte Software könnte somit nur die Ausgangsituation im Auge behalten. Dies ist jedoch nicht mehr zeitgemäß. Unternehmen – egal welcher Branche – müssen schnell reagieren können. Zu diesem Zweck wurde die agile Softwareentwicklung ins Leben gerufen.

Agile Softwareentwicklung auf der Überholspur

Es gibt vier Einflussgrößen, die die Qualität dieser Methode kennzeichnen.

  1. Das entscheidende ist nicht der Entwicklungsprozess an sich, sondern Personen und Kommunikation.
  2. Schnelle Reaktion ist wichtiger als ein Plan.
  3. Eine funktionierende Software geht vor einer ausgefeilten Dokumentation.
  4. Die Kundenbedürfnisse haben mehr Gewicht als die Software.

Die agile Softwareentwicklung setzt eines immer voraus: ein hohes Maß an Transparenz durch die handelnden Akteure. Nur so sind schnelle Änderungen möglich. Um dies zu gewährleisten, hat sich die iterative Vorgehensweise bewährt. Dies sind kleine Programmeinheiten, die mit zyklischen Rückkopplungsprozessen kombiniert sind. Das heißt: Nach jedem Schritt findet eine Rückmeldung sowohl von den Entwicklern wie auch vom Management statt. So können kleinere Änderungen sofort und größere Änderungen bereits im nächsten Schritt durchgeführt werden. Da alle Teilnehmer über ein Cloudsystem verbunden sind, erhöht dies die Geschwindigkeiten bei der Rückmeldung. Der Vorteil liegt nun auch darin, dass zwar das Ziel bereits zu Anfang definiert wird, jedoch vielleicht noch gar nicht alle Elemente zur Umsetzung bekannt sind. Diese können nun schnell identifiziert und in den fortschreitenden Prozess auch integriert werden. Die Planungs- und Entwicklungsphasen sind flexibel und hängen dann von den Rückmeldungen hierzu ab. Diese Vorgehensweise beschleunigt die Softwareentwicklung ungemein. Selbst auf Veränderungen innerhalb des Prozesses reagiert diese Methode flexibel und liefert damit häufig passgenaue Ergebnisse.

Scrum ist der Schlüssel zum Erfolg

Ein bewährtes Vorgehensmodell in diesem Zusammenhang ist Scrum. Die Beliebtheit hat seine Gründe: eine einfache Struktur und die klar definierten Rollen. Scrum ist also so etwas wie ein „Rollenspiel“ für Entwicklerteams und lässt sich entsprechend schnell lernen und produktiv einsetzen. Wichtig ist auch, dass Scrum so konzipiert ist, dass die Vorteile der Agilität wirksam eingesetzt werden können. Das Entwicklerteam kommt zudem auch ohne einen klassischen Projektleiter aus, aber nicht ohne den sogenannten Product-Owner und den Scrum-Master. Ersterer ist der Entscheidungsträger und wird häufig vom Kunden bestellt. Der Scrum-Master kommt einem Primus inter Pares gleich. Dieser dient zum einen als Ansprechpartner für den Projektauftraggeber, zum anderen als Fachmann für die Scrum-Methodik und damit als Unterstützer des Entwicklerteams. Vereinfacht heißt dies: Der Product-Owner legt die erarbeitenden Module fest, der Scrum-Master sorgt für die schnelle Entwicklung.

Die Entwickler verteilen nun untereinander Aufgaben, die beispielsweise in einem täglichen Meeting über den Fortschritt des Projektes und der Arbeitsschritte Auskunft geben. Arbeitsschritte werden in Sprint-Backlogs festgehalten, dieser Zyklus dauert beispielsweise einen Monat, in dem ein Arbeitsschritt erledigt sein soll. Diese Vorgehensweise hat gleich mehrere Vorteile. Durch systematisierte Rückmeldung können etwaige Fehler oder Schwachstellen, aber auch das, was besonders gut läuft, schnell festgestellt werden. Zum anderen sind die Scrum-Mitarbeiter aus der normalen Hierarchie herausgehoben, es zählt nur die Lösungskreativität. Und zu guter Letzt es gibt nur einen Ansprechpartner, der die Schnittstelle nach außen bildet.