Agile Softwareentwicklung: Einfach mal so drauflos programmiert?
Ohne Scrum wäre das nicht passiert, heißt es oft, wenn etwas schiefgeht. Dabei ist es umgekehrt: Ohne agiles Arbeiten geht es nicht mehr. Doch es gibt drei fundamentale Missverständnisse.

Agile Softwareentwicklung bedeutet, einfach mal drauflos zu programmieren und planlos irgendetwas umzusetzen, nur um es später wieder zu überarbeiten oder zu verwerfen - so denken immer noch viele. Geht etwas schief, heißt es dann: Hätte man vorher eine vernünftige Anforderungsanalyse durchgeführt und die Umsetzung im Detail geplant, wäre das nicht passiert. Oder: Hätten wir eine andere Methode verwendet, wäre es nicht so teuer geworden.
- Agile Softwareentwicklung: Einfach mal so drauflos programmiert?
- Agile Methoden eigenen sich für komplexe Probleme
- Scrum ist alles andere als planlos
- Agiles Arbeiten: Erwartungen managen
Doch das stimmt nicht. Nicht das agile Arbeiten macht die Entwicklung teuer oder problematisch, sondern die immer komplexeren Probleme in unserer immer komplexer werdenden Welt und die immer höheren Erwartungen, die an moderne Software gestellt werden: Sie soll intuitiv, einfach zu bedienen und fehlerfrei sein. Sie soll überall laufen, darf nicht ausfallen und muss selbstverständlich barrierefrei sein und persönliche Daten schützen. Agile Methoden sind nichts anderes als ein Weg, mit dieser Komplexität umzugehen - und zwar der beste, den es derzeit gibt.
Dass "agil" dennoch zu einer Art Unwort verkommen ist, liegt vor allem an drei fundamentalen Missverständnissen.
Der Unterschied zwischen kompliziert und komplex
Inzwischen dürfte wirklich jeder in der IT von dem Begriff der "VUKA-Welt" gehört haben (oder auch VUCA im Englischen). Wir leben in einer Welt die volatil, unsicher, komplex und ambig (mehrdeutig) ist. Leider lässt das sehr viel Raum für Interpretation und gerade der Begriff "komplex" ist vielen nicht klar, wird gern mit "kompliziert" verwechselt und bildet damit das erste Missverständnis.
Ein Hilfsmittel zur Unterscheidung zwischen kompliziert und komplex ist die Stacey-Matrix, die die Unsicherheit in den Anforderungen und den Technologien (also der Umsetzung) als Kriterien zur Einordnung nutzt. Immer dann, wenn wir es mit zum großen Teil unklaren Anforderungen oder unbekannten/neuen Technologien zu tun haben, befinden wir uns im Komplexen.
Will man nun entscheiden, welches Vorgehen sich für eine dieser Problemklassen eignet, hilft ein Blick auf das Cynefin-Framework. Für einfache Probleme gibt es bewährte Lösungen (best practices), die man lediglich anwenden muss. Komplizierten Problemen kann man mit einer Analyse und Planung begegnen, weil man diese Probleme gut durchdringen kann und Experten Lösungsansätze und Herangehensweisen sowie Wirkmechanismen bekannt sind.
Für komplexe Probleme kennt man im Vorfeld keine Lösung und auch die Auswirkungen von Handlungen können nicht vorhergesagt, sondern nur rückblickend beobachtet werden. Daher muss man sich dem Ziel iterativ und inkrementell nähern, Annahmen treffen, Hypothesen (Ideen) entwickeln und umsetzen, Messungen durchführen, das Ergebnis bewerten, immer wieder aus Fehlern und Erfolgen lernen und sich an neue Erkenntnisse anpassen. Deshalb wird hier gern auch von Experimenten gesprochen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Agile Methoden eigenen sich für komplexe Probleme |
Hallo Patric, ich freue mich über die sehr ausführliche Darstellung deiner Erfahrungen...
Es ging aber nicht um obsolete Items. Es ging um Items, die man durchaus immer noch...
100 Punkte für den Kandidaten! Ok, doch keine Punkte für den Kandidaten :( Ja. Und...
Danke!
Kommentieren