Agile & DevOps

Agile Tipps von Carola Lilienthal auf der International PHP Conference 2015

Agilität als Erfolgsfaktor – Große Ziele, kleine Schritte
1 Kommentar

Wie organisiert man Software-Entwicklung, um so schnell und so sicher wie möglich ans Ziel zu kommen? Die Antwort lautet heutzutage in vielen Firmen: Wir machen das agil! Fast meint man schon, eine andere Antwort wäre peinlich. Frei nach dem Motto: Wer nicht agil arbeitet, hat den Anschluss verpasst und ist rückständig.

Doch wie viele der Teams, die von sich behaupten agil zu arbeiten, tun das wirklich? Denn sieht man sich die Projekte im Detail an, stellt man meist relativ schnell fest: Manche der vermeintlich agilen Projekte sind zwar erfolgreich, viele leiden aber an ganz ähnlichen Symptomen wie die verteufelten klassischen Projekte.

Was also tun? Carola Lilienthal, Senior-Softwarearchitektin bei der WPS – Workplace Solutions GmbH, berichtete in ihrer Session „Große Ziele, kleine Schritte – Agilität als Erfolgsfaktor“ auf der International PHP Conference 2015 in München was ihrer Erfahrungen nach die entscheidenden Zutaten für agile Projekte sind. Was muss man wirklich beachten, damit Agilität seine volle Wirkung entfalten kann?

Große Ziele, kleine Schritte

„Wenn man große Ziele hat, muss man kleine Schritte gehen“ ist das agile Mantra, um Komplexität in Projekten in den Griff zu bekommen. Welchen Unterschied das macht, verdeutlich bspw. ein Blick auf den Verlauf eines klassischen Software-Entwicklungsprojekts, das Carola Lilienthal begleitet hatte.

Agilität als Erfolgsfaktor - Wasserfall

Weil am Anfang die Anwender befragt werden, ihnen viel Aufmerksamkeit geschenkt wird, ergibt sich dadurch eine hohe Kundenzufriedenheit zu Beginn des Projekts. Dann gingen die Entwickler ans Implementieren. Irgendwann kam es dann zu Verzögerung – und noch mehr Verzögerungen. Als dann der Moment kam, als die Software eingeführt werden sollte, und die Software musste für Tester und die Schulung der Anwender zur Verfügung gestellt werden. Was passierte? Es kam zum Bang Bang, denn man hatte eine Software, die nicht das tat, was man von ihr erwartete. Mehrere Systeme arbeiteten nicht so zusammen, wie gewünscht, weil nicht vernünftig über die Schnittstellen gesprochen worden war. Das Resultat: Die Zufriedenheit der Anwender ging radikal in den Keller – ohne dass man in der Folge viel dagegen tun konnte.
Überraschend war dann allerdings folgende Wende: Plötzlich fing man in der Wartung an, kleine Entwicklungszyklen zu fahren. Nur dass man mit solch kleinen „Hüpfern“ lediglich Kosmetik machen kann.

Agilität als Erfolgsfaktor - Wasserfall2

Die große Frage ist also: Wieso nicht gleich von Anfang an mit konstant kleinen Schritten zum Projekterfolg? Eben dem Grundprinzip der Agilität folgend. Denn hier sehen die Anwender gleich am Anfang, das Teilelemente fertiggestellt werden, was in der Regel eine gewissen Vertrauenszuschuss bewirkt. Wird kontinuierlich so weiter gearbeitet, entsteht ein zugegeben langer Prozess, der aber durch Freundschaft zwischen Kunde und Entwicklern gekennzeichnet ist.

Agilität als Erfolgsfaktor - iterativ

Expedition Software-Entwicklung

Ein schönes Bild, das dabei helfen kann, den Software-Entwicklungsprozess umzustellen, ist „Software-Entwicklung ist wie eine Expedition“, meist eine Expedition durch unbekanntes Terrain. Man hat eine relativ konkrete Vorstellung von dem Ziel, das man erreichen möchte. Nur den Weg dorthin kennt man nicht so genau. Und wenn sich einem Hindernisse in den Weg stellen, müssen diese entweder überquert oder umschifft werden.

All diejenigen, die sich nur durch harte Fakten bzw. Zahlen von den Vorteilen agiler Methoden überzeugen lassen, sei gesagt, dass laut statistischen Auswertungen die Erfolgsquote in agilen Projekten bei 42 Prozent liegt. D.h. sie wurden „in time“ und „in budget“ abgeschlossen. 49 Prozent der Projekte werden als problematisch eingestuft, d.h. nicht „in time“ und nicht „in budget“, aber irgendwann doch eingeführt. Neun Prozent der Projekte sind schlichtweg gescheitert.

Diese Zahlen mögen auf den ersten Blick nicht überzeugen. Umso eindrucksvoller werden sie allerdings, wenn man ihnen die Zahlen aus klassischen Projekten gegenüberstellt: Hier scheitern 29 Prozent, problematisch sind 57 Prozent und lediglich 14 Prozent der Projekte werden als erfolgreich eingestuft.

Kleine Schritte … und mehr!

Natürlich sind es nicht nur die kleinen Zyklen bzw. Schritte, die agile Projekte zum Erfolg führen. Es gehört noch mehr dazu. Da wären bspw. Iteration Plans, Release Plans, Burn Down Charts, Standup Meetings, Pair Programming, Unit Tests, Continuous Integration, etc.

Aber auch mit diesen Ansätzen und Instrumenten wird noch kein agiles Orchester aus dem Prozess. Zwei wichtige Fragen sollten unbedingt immer noch gestellt werden: Wann wird getestet und gibt es Abnahmen?

Iterationen UND Abnahmen!

Denn es ist eminent wichtig, dass man nach Iterationen das Ganze den Nutzern zum Benutzen gibt – und schließlich für die Iterationen auch Abnahmen bekommt. Schlicht und ergreifend also die Aussage, dass etwas als richtig und fertig eingestuft wurde und so bleiben soll. Denn, so betont Carola Lilienthal, bedeutet Agilität im Kern, dass man ein System langsam ausbaut und nicht ständig an allem etwas ändert. Man baut ein Inkrement – und darauf kann man aufbauen!

Unverzichtbarer Product Owner

Allerdings benötigt man jemanden, der dieses „Spiel“ mitmacht: Man braucht einen vernünftigen und starken Product Owner (PO), der die Sachen abnimmt. Es helfen kein Scrum Master und keine Unit Tests, wenn es keinen PO gibt, der die Sachen abnimmt.Agile Instrumente

Dem PO oder den POs muss es gelingen, das minimale Set an Funktionen zu erreichen. Sie müssen in der Lage sein, mit dem Team zusammen sozusagen das Projekt in Scheiben zu schneiden, die man abnehmen kann. Immer wieder und immer wieder.

Allerdings stimmt es natürlich nicht, dass grundsätzlich bei agiler Vorgehensweise alles gut ist. Doch die Vorteile des iterativen Vorgehens im Vergleich zum klassischen Vorgehen verdeutlicht folgendes Bild: Das klassische Wasserfall-Vorgehen ist wie ein Sturz aus einem hohen Fenster. Man flieht ziemlich lange und schlägt irgendwann sehr heftig auf und überlebt im Zweifelsfall nicht. Beim iterativen Vorgehen dann fällt man auch. Allerdings nicht aus dem Fenster, sondern Stufe für Stufe. Das tut auch weh, aber in der Regel kommt man lebend unten an.

Eric Ries’ berühmte Aussage – „The minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort“ – kann und sollte deswegen an dieser Stelle abschließen als Leitsatz gelten. Das minimale Set an Funktionen zu erreichen, das aber auch einen maximalen Lerneffekt darstellt, ist die Kunst und das Spannende an Software-Entwicklung. Denn dieses Set ist manchmal etwas ganz anderes, als man denkt.

ML Conference 2019

Workshop: Machine Learning 101++ using Python

mit Dr. Pieter Buteneers (Chatlayer.ai)

Honey Bee Conservation using Deep Learning

mit Thiago da Silva Alves, Jean Metz (JArchitects)

Python Summit 2019

Daten analysieren und transformieren mit Python

mit Doniyor Jurabayev (Freelancer)

Advanced Flow Control

mit Oz Tiram (noris network AG)

Aufmacherbild: Stepping stones over river and small waterfall via Shutterstock / Urheberrecht: Alex Helin

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

1 Kommentar auf "Agilität als Erfolgsfaktor – Große Ziele, kleine Schritte"

avatar
400
  Subscribe  
Benachrichtige mich zu:
trackback

[…] Agilität als Erfolgsfaktor – Große Ziele, kleine SchritteDevOps – mehr als nur ToolsSchöner scheitern mit AgileAgiles Arbeiten unter Zeitdruck […]

X
- Gib Deinen Standort ein -
- or -