Agilität - Die häufigsten Missverständnisse, Teil 3

Falsch: Agil funktioniert nicht für komplexe Großprojekte

Niklas Schlimm
Verstehenskomplexität

Auch Carola Lilienthal widmet sich in ihrer Dissertation dem Thema Komplexität. Sie beschreibt dort den Begriff der Verstehenskomplexität. Dabei geht es um die subjektiv empfundene Komplexität für den Entwickler. In einem großen Software-Projekt können zu formale Regelungen bzgl. der Tätigkeit zu einer Erhöhung der Verstehenskomplexität führen. Der Entwickler muss ja nicht nur verstehen, ob der von ihm gewählte Lösungsweg für eine Problemstellung effizient zum Ziel führt. Er muss auch begreifen, ob der Lösungsweg im Rahmen des vorgegebenen Vorgehensmodells zulässig ist. Wenn nicht, muss er im schlimmsten Fall eine Genehmigung einholen. Oder noch schlimmer: Er denkt gar nicht mehr über einen adäquaten Lösungsweg nach, sondern hält sich strikt an die Vorgehensweise.

Prozesse erhöhen vielleicht die Transparenz über die Tätigkeiten der Entwickler für Außenstehende. Nach innen führen sie dagegen möglicherweise zu einer „kreativen Lähmung“ des Teams und zur Erhöhung der Komplexität. Agile Verfahren versuchen, vergleichsweise wenig zu reglementieren. So hat der Entwickler einen schnellen Überblick über das, was er wirklich wissen muss. Der Baukasten agiler Praktiken (Pair Programming, Steh-Meetings, Aufgabentafeln, Testautomatisierung, Continuous Integration etc.) ist begrenzt, in jedem agilen Umfeld gleich und flexibel einsetzbar. Agile Teams machen das, was zur Lösung des Problems nötig ist, und begehen nicht dogmatisch einen vorgegeben Lösungsweg.

Ende gut, alles gut?

Viel Positives über den Gedanken der Selbstregulation und -organisation, oder? Ich möchte dem Leser hier aber nicht die Kehrseite der Medaille ersparen. Denn auch mit Selbstregulation und Selbstorganisation kommt es in der Praxis zu Problemen. Einige Punkte (zum Teil aus der Wiki-Seite zu Selbsorganisation) seien hier genannt:

  • Hohe Anforderungen an die Fähigkeiten: Selbstorganisierende Teams übernehmen viele Entscheidungen eigenständig, um sich flexibel und schnell an die Aufgabenstellung anzupassen. Das setzt voraus, dass das Team über ein hohes Maß an Erfahrung und fachlichen Kompetenzen verfügt.
  • Überforderung: Es ist durchaus vorstellbar, dass Mitarbeiter mit starker Freizeitorientierung lieber ein vorgeschriebenes Pensum erledigen, um sich so wenig wie möglich mit dem „notwendigen Übel Arbeit“ auseinandersetzen zu müssen. Vor allem kann aber die ungewohnte Freiheit zu Beginn Angst und Überforderungsgefühle auslösen.
  • Konflikte: Das Konfliktpotential ist grundsätzlich höher, wenn Verteilungs- und Kompetenzregelungen fehlen und selbst ausgehandelt werden müssen.
  • Hohe Anforderung an die Führung: Durch die Selbstorganisation kann es zu einer Abänderung der offiziellen Regeln und zu autogen entstehenden Regeln kommen. Das kann die Unsicherheit über die formal geltende Ordnung erhöhen. In der Folge kann es zu Konflikten mit den Führungskräften kommen.
  • Zeitaufwand und Kosten: Häufige Strukturänderungen, welche auch noch konfliktgeladen sind, erfordern Zeit. Daher kann die Lösungs- und Entscheidungsfindung in selbstorganisierten Systemen länger dauern als bei klaren Vorgaben von oben.
Fazit

Große Projekte sind komplex. Komplexitätsbewältigung ist ein kritischer Erfolgsfaktor in großen Projekten. Eine hohe Komplexität kann durch Selbstorganisation und Selbstregulation bewältigt werden. Diese Prinzipien werden in agilen Teams angewendet. Daraus folgt: Agile Teams können auch (oder gerade) hohe Komplexität gut bewältigen. Und sie sind somit ideal aufgestellt, um in großen Projekten erfolgreich zu arbeiten. Gleichzeitig sollte man nicht zu optimistisch zur Tat schreiten, denn auch in agilen Organisationen treten Probleme auf, die das Projekt gefährden können. Wie heißt es so schön: Nichts im Leben ist umsonst!

Niklas Schlimm ist seit über 15 Jahren als Software-Entwickler und Architekt in unterschiedlich großen Projekten tätig. Zurzeit arbeitet er als Gruppenleiter eines Architektur-Teams bei der Provinzial Rheinland Versicherung AG. Seine Schwerpunkte dort liegen im Bereich Agile Software-Entwicklung, Java-EE-Architekturen mit Hostanbindung und Application-Lifecycle-Management.
Geschrieben von
Niklas Schlimm
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.