Mehr Infos
Wir nutzen Cookies auf unserer Website. Einige sind essenziell, während andere uns helfen, die Website und Ihre Nutzererfahrung zu verbessern.
Zur Datenschutzerklärung

Teil 1: Was ist Agile Softwareentwicklung?

Der Trend der agilen Softwareentwicklung

Seit einigen Jahren ist agile Softwareentwicklung stark im Trend und als Kunde sowie als Agentur in der Digitalbranche gibt es fast keinen Weg daran vorbei. Um komplexe Softwareprojekte in der heutzutage sehr schnelllebigen Welt, umzusetzen ist Agilität ein Muss. Welche Stolperfallen es, beim Einführen von Agiler Softwareentwicklung gibt und auf was ihr achten müsst, erfährt ihr in dieser dreiteiligen Blog-Serie.

Warum braucht es agile Softwareentwicklung?

Dazu eine kurze Geschichte: Ein abenteuerlustiger Junggeselle machte sich die Überquerung des Mittelmeers in einem Einmann-Ruderboot zum Ziel. Der Start sollte im Hafen von Neapel erfolgen. Das Ziel seiner Reise war die Hafenstadt Tunis. Das Wetter war hervorragend. Es war beinahe windstill. Da der junge Ruderer wusste, dass zwischen Neapel und Tunis genau 572 km liegen und er bei grossen Distanzen im Schnitt 11 km/h rudern konnte, prognostizierte er seine Ankunft in Tunis exakt 2.5 Tage später.

Während der anstrengenden Reise und vom Junggesellen fast unbemerkt, kam ein leichte Brise aus dem Westen auf. Zudem musste der Ruderer einige Pausen mehr als geplant einlegen, um die weite Distanz überhaupt schaffen zu können.

Am Ende seiner Kräfte, aber überglücklich, erreichte der junge Ruderer nach vier Tagen die Hafenstatt Bizerta, welche in 60km nordwestlicher Richtung von Tunis liegt. Obschon er nicht in Tunis gelandet war und die Reise etwas mehr als eineinhalb Mal so viel Zeit in Anspruch genommen hatte, war er stolz auf seine Leistung. Das Mittelmeer hatte er ja immerhin überquert!

Beeindruckende Leistung, oder etwa nicht!? Wäre so etwas bei der Realisierung eines Software-Projekts passiert, bin ich mir sicher, dass der eine oder andere Auftraggeber mit einer solchen Leistung nicht ganz so zufrieden wäre. Die Reise des Junggesellen, der alles akribisch geplant hatte und sein Ziel genau kannte, endete aufgrund veränderter Bedingungen an einem komplett anderen Ort. Ähnlich wie es dem Junggesellen ergangen ist, kann es auch in der Softwareentwicklung gehen: Unvorhergesehenes kann die Richtung eines Projekts leicht und schnell verändern. Und aus Erfahrung lässt sich sagen: Die Bedingungen innerhalb eines anspruchsvollen Projektes ändern immer.

«Die Bedingungen innerhalb eines anspruchsvollen Projektes ändern immer!»

Egal, ob es sich um die Entwicklung einer komplexen Individualsoftware oder um eine Überquerung des Mittelmeers handelt, die Bedingungen und Anforderungen werden sich über die gesamte Dauer des Projekts laufend ändern. Reagiert man auf geänderte Umstände nicht, verfehlt man sein Ziel mit grosser Wahrscheinlichkeit.

Der Ursprung von agiler Softwareentwicklung: "The Agile Manifesto"

Kurz nach der Jahrtausendwende diskutierte eine Gruppe von Entwicklern, weshalb anspruchsvolle Softwareprojekte oft scheitern und wie die Zukunft der Softwareentwicklung aussehen könnte. Man war sich einig: Das Hauptproblem lag darin, dass Unternehmen zu sehr damit beschäftigt waren, ihre Software vor der Umsetzung akribisch zu planen und zu dokumentieren, statt die Anforderungen des Kunden zu erfüllen. Das wollte die Gruppe ändern, worauf sie das ursprünglich 68 Wörter lange "Agile Manifesto" erarbeiteten.

Die vier Grundwerte der agilen Softwareentwicklung

Responding to change over following the plan.

Obschon man für jedes grössere Projekt eine Planung haben muss, sollte man während des Projekts auf veränderte Bedingungen oder neue Anforderungen reagieren können. Auch wenn man damit vom ursprünglichen Plan abweichen muss.

Individuals and interactions over processes and tools.

Obschon Prozesse und der Einsatz von Software und Tools bereichernd sein können, soll über allem der Mensch stehen: Das Projektteam, Steakholder und natürlich der Endkunde bzw. Benutzer des Produkts, der immer die wichtigste Rolle spielen soll.

Customer collaboration over contract negotiation.

Obschon Verträge und Vereinbarungen bei Softwareprojekten mit grösseren Budgets unumgänglich sind, muss eine partnerschaftliche und enge Zusammenarbeit mit dem Kunden und insbesondere mit dem Benutzer der Software im Vordergrund stehen.

Working Software over comprehensive documentation.

Obschon Dokumentationen und Diagramme einen Austausch und das Verständnis für die Software fördern können, bringt eine akribische Dokumentation einer nicht im Ansatz funktionierenden Software gar nichts. Ziel ist es, eine funktionierende Software zu haben, bevor eine umfangreiche Dokumentation geschrieben wird.

Teil 2: Warum Agile Softwareentwicklung nicht funktioniert

Teil 2: Warum Agile Softwareentwicklung nicht funktioniert

7 Fehler, die bei agiler Softwareentwicklung oft gemacht werden

Teil 3: Wie agile Softwareentwicklung funktionieren kann

Teil 3: Wie agile Softwareentwicklung funktionieren kann

Ratschläge und Tipps, damit agile Softwareentwicklung erfolgreich wird