Um die 2000er herum hat sich eine Speerspitze an Entwicklern zusammengetan und das agile Manifest geschrieben. In dieser Zeit sind auch einige vermeintliche Meilensteine der agilen Software-Entwicklung entstanden:
- Extreme Programming, unter anderem Test Driven Development und Pair Programming
- Continuous Delivery und Continuous Integration
- Clean Code
- Trunk-based-development
Auch wenn die Bücher, die diese Konzepte der breiten Masse zugänglich machten, teilweise erst einige Jahre später erschienen (2008 Continuous Integration, 2009 Clean Code, 2010 Continuous Delivery), sind diese Arbeitsweisen bereits in den Jahren 1995 bis 2000 entstanden und damit vergleichsweise alt und erprobt. Dennoch arbeiten die meisten Unternehmen immer noch klassisch mit einer agilen Fassade.
Die Errungenschaften von Agile?
Arbeiten ist komplizierter geworden, die Bürokratie hat weiter zugenommen. Statt der agilen Flexibilität sehe ich oft nur noch verzweifelte Überforderung.
Für mich ist das ein Indiz für die kollektive Schwarmdummheit. Ein einfaches, pragmatisches und wirksames Konzept wird so lange von der Masse gekaut, theoretisiert und vermeintlich vereinfacht, bis am Ende ein schwammiges und unwirksames Konstrukt herauskommt. Die besten Beispiele:
- CI/CD-Pipelines und GitOps: Continuous Delivery beschreibt einen holistischen Ansatz, mit dem Unternehmen kontinuierlich ihre Software (weiter-)entwickeln. Das eigentliche Ziel von Continuous Delivery ist es, zügig und risikoarm qualitativ hochwertige Software-Produkte zu entwickeln und auszuliefern. Herausgekommen sind stumpfe Automatisierungen, die die Symptome des Release Managements zwar ein bisschen lindern, dabei das Grundproblem der risikoreichen, unsicheren, fehleranfälligen und langsamen Software-Entwicklung nicht in den Griff bekommt.
- Scrum Framework und Kanban Methode: Sowohl Scrum als auch Kanban haben viel Potenzial und können für die jeweiligen Teams einen sinnvollen und passenden Rahmen bilden, in dem sie produktiv arbeiten können. Doch statt effektiv und effizient die Software-Entwicklung zu fördern, bildet sich in den meisten Unternehmen Zombie-Scrum und betreutes Kanban-Zettel-Herumgeschiebe heraus. Der einzige erfüllte Zweck: Die Unternehmen können sich den agilen Stempel geben. Das Prinzip dahinter ist das gleiche wie beim beliebten Green-Washing.
- DevOps: Als DevOps um 2010 herum an Bekanntheit gewann war ich begeistert. Endlich gab es ein schlüssiges Konzept für Unternehmen, die unter anderem auch Software entwickeln. Endlich wurden die Errungenschaften der letzten 70 Jahre aus der Produktion auch für Unternehmen adaptiert. Endlich wurde als oberste Maxime herausgestellt, dass die Menschen, die voneinander abhängen (z.B. Security, Business, Development und Operations), gemeinsam etwas viel Größeres erreichen können. Und was ist daraus geworden? Der DevOps-Engineer tritt die Nachfolge des Fullstack-Entwicklers als wirkungsloseste Rolle im Team an. Heutzutage „programmiert“ der DevOps-Engineer dutzende yaml-Files. Er beschäftigt sich mit einem Blumenstrauß an Technologien und kommt immer mit neuen Buzzwords um die Ecke. Statt die Unternehmen durch die Zusammenlegung von Business, Security, Entwicklung und Operations schlagkräftig und zukunftssicher aufzustellen gibt es nun eine weitere Mauer zwischen Dev und Ops: Den DevOps-Engineer.
Die Auswirkung
Diese Entwicklung ist für sehr viele Unternehmen hochriskant und extrem ressourcenhungrig. Statt der erhofften Erleichterung der Arbeit herrscht nun agile Bürokratie. Statt der Minimierung der Risiken der klassischen Software-Entwicklung entsteht nur eine agile Fassade. Statt der dringend notwendigen Veränderungen und Anpassungen finden sich nur Potemkinsche Dörfer und Wohlfühloasen.
Die Verlierer: Die Kunden, die Mitarbeiter, die Unternehmen, die Wirtschaft und am Ende die unbeliebten Shareholder.
Die (kurzfristigen) Gewinner: Ein paar agile Coaches und DevOps-Engineers.
Ist Agile wirklich das richtige Werkzeug?
Für mich stellt sich die Frage: Woher kommt diese Naivität, die uns wie die sprichwörtliche Horde Lemminge über die Klippe springen lässt? Warum stockt die Entwicklung? Ist agile Arbeit das falsche Mittel um auf die aktuellen Probleme durch Cyberattacken, Klimawandel, Inflation und stagnierende Wirtschaft zu reagieren?