Kommentierte Links (CXXII)
Grafik: Pixabay / Brian Penny - Lizenz |
Agile, Scrum, Kanban, Change Management. Und der Rest.
Grafik: Pixabay / Brian Penny - Lizenz |
Grafik: Pixabay / Geralt - Lizenz |
Und für alle die jetzt in der entsprechenden Stimmung sind - hier sind fünf weitere, die ich in den vergangenen Jahren bereits geteilt habe:
Für die Playlist nach dem einen Eggnogg zu viel.
Leider ist es unverkennbar, dass viele Mitglieder der agilen Bewegung mit der Zeit eine eher negative Grundeinstellung entwickeln. Das
ist auch menschlich verständlich, wer sich ständig mit dem Beseitigen
von Impediments und dem Kampf gegen Change Fatigue und Konzern-Trolle
beschäftigen muss, kann leicht in Frustration abrutschen. Um nicht
selbst in dieses Muster verfallen, veröffentliche ich
ab und zu selbst erlebte "agile Erfolgsgeschichten". So wie diese hier.
Es war in einem meiner letzten Einsätze als klassischer Projektleiter. Ein grosser Mittelständler hatte vor, seine Website einem Relaunch zu unterziehen, inclusive des dort eingebundenen Shops. Insgesamt fünf Teams arbeiteten daran, aus der IT, aus dem Marketing und aus der Unternehmenskommunikation, und wie mir im Vorfeld gesagt wurde, war das Meiste schon fertig. Als externe Krankheitsvertretung des Projektleiters sollte ich nur noch die letzten Arbeiten koordinieren.
Die Realität, die ich vorfand, war dann allerdings eine andere. Zwar war die Arbeit tatsächlich schon weit fortgeschritten, die einzelnen Teile (Shop, CMS, Redaktionssystem, Single Sign on, etc.) passten aber an keiner Stelle zusammen. Jeder Versuch, irgendetwas fertigzustellen oder mit irgendeinem anderen Teil zu verbinden, führte zu einer Kaskade an Fehlermeldungen. Und mit gleicher Zuverlässigkeit ergoss sich regelmässig eine Kaskade aufgebrachter Stakeholder in das Projektleitungs-Büro.
Genau das erwies sich auch als die Ursache des Problems. In früheren Projektphasen hatte jeder Stakeholder ständig seine Wünsche in das Projekt einbringen dürfen. Und aus dem Wunsch heraus, alle gleich gut zu behandeln, hatte die alte Projektleitung die Teams angewiesen, an allem gleichzeitig zu arbeiten. So war es dazu gekommen, dass zwar Alles angefangen war, aber Nichts fertig, Nichts integriert, Nichts getestet und Nichts funktionierend.
Der einzige Vortrteil an dieser Situation war, dass das Projekt intern bereits als gescheitert galt, und alle Manager sich fern von ihm hielten, um zu verhindern, dass sie mit ihm in Verbindung gebracht wurden (das war auch der wahre Grund, warum ich als Externer der Projektleiter geworden war). Dadurch hatte ich relativ grosse Freiheiten, um neue Wege auszuprobieren. Nur welche das sein sollten, war mir noch nicht kar - also fragte ich die Entwicklungsteams. Und die hatten tatsächlich eine Idee.
Statt gleichzeitig an allem zu arbeiten und nirgendwo weiterzukommen wollten sie sich immer nur auf ein Feature konzentrieren, das fertigstellen, testen und integrieren, dann das Gleiche mit einem zweiten machen, dann mit einem dritten, und so weiter. Um zu zeigen, dass sie dabei wirklich vorankommen würden, boten sie mir einen täglichen kurzen Statusbericht an, vor einem Board auf dem der Fortschritt jedes Arbeitspaketes visualisiert wurde. Kanban nannten sie das (der Begriff war mir damals noch neu).
Der Beitrag, den ich dazu leisten musste, war, ihnen alle Stakeholder vom Hals zu halten, an deren Feature gerade nicht gebaut wurde. Mit Erbitterung und erstaunlicher Ausdauer drangen diese darauf, dass jetzt doch auch endlich sie wieder an der Reihe sein müssten, verlangten Fortschrittberichte, brachten neue Ideen auf, die sie noch spät in die Umsetzung einbringen wollten und eskalierten ständig beim Top-Management (das sich aus den oben genannten Gründen aber heraushielt). Ein Vollzeit-Job.
Während ich mir also irgendwo Powerpoint-Saalschlachten mit uneinsichtigen Leuten lieferte, wurden so fast unbemerkt die ersten Funktionen fertig. Zu Beginn noch mit Ablehnung aufgenommen ("Was? Nur so wenig? Da fehlt doch noch alles andere!") wurden sie nach und nach mehr und mehr. Und mit diesen frühen Funktionsumfängen gelang das erste kleine Wunder: als die ersten Stakeholder sahen, dass ihre Kernfunktionen fertig waren, waren sie fürs Erste zufrieden und zogen ihre Zusatzwünsche zuück.
Die verbliebenen kämpften zwar um so verbissener für ihre Interessen, da jeder befürchtete, dass am Ende für die Letzten keine Zeit und kein Budget mehr übrig sein würde, aber die Runden wurden nach und nach kleiner und beherrschbarer. Und irgendwann gelang das zweite kleine Wunder. Nachdem die konzentrierte Arbeit dazu geführt hatte, dass die Teams endlich liefern konnten, wurde ihren Zeitplänen auf einmal Glauben geschenkt und die Eskalationen wurden seltener.
Das aus der Sicht des Unternehmens grösste Wunder fand aber ganz zum Schluss statt: nach der Fertigstellung eines zufriedenstellenden Funktionsumfangs hatten sich alle auf das eingerichtet, was sie in vergangenen Projekten als unvermeidbaren Teil der Softwareentwicklung kennengelernt hatten - eine lange und für alle Beteiligten quälende Phase des Software-Testens und Reparierens, bei der nie so ganz abbsehbar war, wie lange sie dauern würde. Diesesmal aber was diese Phase kurz und schnell vorbei.
Der Grund dafür war, dass jede fertiggestellte Funktion sofort mit den anderen integriert und zusammen mit ihnen getestet worden war. Und da immer nur an einer gearbeitet wurde, waren die jeweils neuen Umfänge und Fehlerquellen immer überschaubar gewesen, wodurch sich die Test- und Reparatur-Aufwände in Grenzen gehalten hatten. Statt erst ganz am Ende mit der Qualitätssicherung beginnen zu müssen, war das meiste davon zu diesem Zeitpunkt schon abgeschlossen.
Am Schluss war auf diese Weise einiges von der zwischenzeitlichen Verspätung aufgeholt worden, und das Projekt endete mit jeweils zehn Prozent Zeit- und Budget-Überschreitung. In der gesamten jüngeren Unternehmensgeschichte (in der nie ein IT-Projekt pünktlich fertiggeworden war), war das der beste Wert an den man sich erinnern konnte. Und für mich selber war es der Anstoss, nur noch so arbeiten zu wollen (was ich mittlerweile auch geschafft habe).
Bild: Wikimedia Commons / Roland Dobbins - CC BY-SA 2.0 |
Unter den vielen verschiedenen "Gesetzen", die mit der Zeit geschrieben wurden, um regelmässig auftretende Phänomene der Softwareentwicklung zu beschreiben, ist ein besonders schönes. Es handelt sich um Hofstadter's Law (also Hofstadters Gesetz), ist benannt nach dem amerikanischen Physiker, Informatiker und Kognitionswissenschaftler Douglas Hofstadter, und wurde von ihm erstmals 1979 beschrieben. Es lautet:
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
Ins Deutsche übersetzt: Hofstadters Gesetz: es dauert immer länger als man es erwarten würde, selbst wenn man dabei Hofstadters Gesetz berücksichtigt. Das klingt erstmal wie ein Scherz, es steckt aber durchaus mehr dahinter. Um dieses Gesetz zu verstehen muss man zuerst kurz das Buch erklären, in dem Hofstadter es veröffentlichte - es hat den Namen Gödel, Escher, Bach: an Eternal Golden Braid und es handelt (unter anderem) von Rekursionen.
Eine Rekursion (von lateinisch recurrere, ‚zurücklaufen‘) wird ein prinzipiell unendlicher Vorgang bezeichnet, der sich selbst als Teil enthält oder sich selbst immer wieder neu startet. Bei einem derartigen Vorgang kann es sich um ein Computerprogramm handeln (das man anhalten muss, wenn es nicht ewig weiterlaufen soll), es kann aber auch ein Denkvorgang (oder eine Verkettung von Denkvorgängen) sein, und genau darauf wollte Hofstadter hinaus.
Den Ausgangspunkt bildet eine bei der Planung komplexer Vorhaben häufige kognitive Verzerrung, der Optimism Bias, der dafür sorgt, dass man den für die Umsetzung nötigen Aufwand unrealistisch niedrig einschätzt. Wie alle derartigen Verzerrungen ist er dem Menschen, in dessen Kopf er stattfindet, aber in der Regel nicht bewusst - im Moment der unrealistisch niedrigen Aufwandsschätzung ist ihm daher nicht klar, dass sie unrealistisch niedrig ist.
Selbst wenn ein vom Optimism Bias betroffener Mensch versucht, den Erfahrungswert, dass er immer zu optimistisch geplant hat, in seine Aufwandsschätzungen einzubeziehen, löst dieser Gedankengang trotzdem erneut den Optimism Bias aus, wodurch die erwähnte Rekursion entsteht. Douglas Hofstadter versuchte diesen Teufelskreis offensichtlich zu machen, indem er in sein nach sich selbst benanntes Gesetz ebenfalls eine Rekursion einbaute: Hofstadters Gesetz löst sich selbst aus.
Die Parallelen zu rekursiven Computerprogrammen sind bis hierhin einleuchtend, an einer Stelle unterscheiden sich die durch Hofstadter's Law beschriebenen Denkvorgänge aber entscheidend von ihnen - mit der Zeit schwächt sich das Ausmass der Verzerrung ab. Das Beispiel an dem Hofstadter sein Gesetz erklärte, war die Entwicklung eines Schachcomputers, der einen Menschen schlagen kann. Und obwohl die Entwicklungzeit mehrfach falsch eingeschätzt wurde - irgendwann war er fertig.
Und damit kommen wir zu einer unerwarteten Verbindung zu einer in vielen agilen Teams verbreiteten Praktik: den Aufwandsschätzungen anhand von Fibonacci-Sequenzen. Dieser exponentielle Wachstums-Verlauf (0, 1, 2, 3, 5, 8, 13, 21, etc) war für Hofstadter beispielhaft für durch Rekursionen bedingte grösser werdende Schätzfehler. Umgekehrt wird in agilen Teams implizit davon ausgeggangen, dass es bei geringer Ungewissheit zu weniger Schätzungs-Rekursionen kommt und die Schätzungen genauer sind.1
In den meisten Fällen dürfte den die Fibonacci-Sequenzen benutzenden agilen Teams dieser gedankliche Unterbau gar nicht klar sein (was auch nicht weiter schlimm ist). Für alle, die sich an geisteswissenschaftlichen Ausschweifungen erfreuen können, dürfte der Gedanke aber eine gewisse Faszination haben: immer dann, wenn die Scrum- und XP-Teams dieser Welt Planning Poker-Karten hochhalten arbeiten sie an der Widerlegung von Hochstädters Gesetz. Was der wohl dazu gesagt hätte?
Grafik: Geek & Poke - CC BY 3.0 |
Es gibt diese Momente, in denen jemand bewusst oder unbewusst etwas Augenöffnendes sagt, das komplexe Sachverhalte, mit deren prägnanter Formulierung man sich bis dahin schwer getan hätte, auf einmal kurz und klar zusammenfasst. Ich habe diesen Moment früher in diesem Jahr im Rahmen eines Einsatzes bei einem Kunden gehabt, bei dem ein Mitarbeiter beschrieb, wie sich seine Wahrnehmung der Scrum Master über die Zeit geändert hatte. Seine Aussage war:
Back in the days, talking to Agilists was like talking to a bunch of tech-nerds. Today it's like talking to HR.
Ins Deutsche übersetzt: damals (der Mitarbeiter war schon seit deutlich über zehn Jahren im Unternehmen), fühlten sich Unterhaltungen mit den Agilisten wie Gespräche mit technikverliebten Spezialisten an. Heute ist es so, als würde man mit der Personalabteilung reden. In diesem Satz (der so in vielen Firmen fallen könnte) steckt unglaublich viel an Inhalt, da er aber ein bisschen Vorwissen benötigt, kommt hier etwas Kontext. Was wollte der Herr uns sagen?
Schauen wir uns zunächst den ersten Teil an, dass die Unterhaltungen mit Scrum Mastern früher denen mit Tech-Nerds entsprochen hätten. Die dahinterstehende implizite Aussage ist die, dass man bei hochspezialisierten (IT-)Technikern zwar niemals zur Gänze versteht, wovon sie eigentlich reden, dass daraus aber Ergebnisse entstehen, die immer wieder beeindruckend sind. Für die frühen Scrum Master und Agile Coaches (ca. zwischen 1995 und 2015) eine durchaus treffende Beschreibung.
Der zweite Teil, demzufolge sich die Gespäche heute wie solche mit HR anfühlen, ist weniger schmeichelhaft. In der breiten Wahrnehmung vieler Mitarbeiter hat die Arbeit der Personal-Einheiten zwar einen sinnvollen Kern, besteht aber darüber hinaus zu einem Grossteil aus dem Erzeugen von Regeln, Prozessen und Sprach-Vorgaben, deren Mehrwert nicht wirklich nachvollziehbar ist.1 Und man muss es leider sagen - die Wahrnehmung vieler agiler Methodenmenschen ist nicht weit davon weg. Autsch.
Wer schon etwas Zeit mit oder in der agilen Community verbracht hat wird entsprechende Aussagen kennen: "Das ist nicht DevOps", "So formuliert man User Stories nicht", "Steht im Daily bitte auf", "Darüber sprechen wir erst in der Retrospektive", "Diese Daten darf ausserhalb des Teams niemand sehen", etc. Ähnlich wie bei den meisten HR-Bemühungen stecken dahinter gute Ideen, wahrgenommen wird es aber meistens als Bevormundung und Gängelung.
Ganz unabhängig davon, ob diese Sicht gerechtfertigt oder berechtigt ist - sie ist real, und findet sich in vielen Unternehmen explizit oder implizit bei den Mitarbeitern wieder. Und wenn diese Sicht einmal Mehrheitsmeinung ist, dann kann man darauf wetten, dass früher oder später jemand die Frage stellen wird, warum man diese Rollen denn braucht, wenn alles was man von denen mitbekommt, die Erzeugung von Regeln, Prozessen und Sprach-Vorgaben mit zweifelhaftem Mehrwert ist.
Alleine um die eigene berufliche Existenz zu sichern, sollten sich Scrum Master und Agile Coaches daher regelmässig fragen, ob das was sie tun von aussen als besserwisserisch, bevormundend und bürokratisch wahrgenommen werden könnte.2 Und wenn das der Fall ist, dann ist damit ein Verbesserungspotential entdeckt, dessen Realisierung deutlich mehr bewirken kann als das dogmatische Bestehen auf bestimmten Prozessen und Begrifflichkeiten.
Dieses Video von der Large Scale Scrum (LeSS)-Conference Madrid 2024 ist gleich auf mehreren Ebenen sehenswert. Zum einen weil der LeSS-Erfinder Craig Larman hier etwas sehr Sinnvolles tut: am Beispiel von Conway's Law zeigt er auf, wie sehr manche bahnbrechende wissenschaftliche Papers mit der Zeit aus ihrem Kontext gerissen und mit zusätzlicher Bedeutung aufgeladen werden, bis zu dem Punkt, an dem vieles, was sie in der Aussenwahrnehmung ausmacht, gar nicht mehr aus dem Original ableitbar ist.
Auf einer weiteres Enene kann man aus diesem Video aber auch erkennen, warum LeSS, das ja egentlich ein sehr schlankes und agiles Framework ist, mitunter in der agilen Community skeptisch gesehen wird. Sein Schöpfer ist offensichtlich sehr davon überzeugt, Recht zu haben und sehr schnell bereit, anderen vorzuwerfen, ahnungslos oder im Unrecht zu sein (in diesem Fall geht das u.a. gegen die Verfasser der Bücher Team Topologies und Dynamic Reteaming). Wird der eigene Standpunkt auf diese Art vermittelt, ist klar, warum das nicht überall auf Begeisterung stösst.
Es ist wieder soweit - ein Hoch auf die Wissenschaft! Diesesmal auf eines der in Relation zu ihrem Einfluss viel zu unbekannten Research Papers, The Ironies of Automation, verfasst 1983 von der amerikanischen Psychologin Lisanne Bainbridge. Seine Kernaussage: anders als man denken könnte führt Prozessautomatisierung nicht zwangsläufig zu mehr Effektivität oder Effizienz, stattdessen kann es sein (und das ist die Ironie der Geschichte), dass danach alle genauso stark beschäftigt sind wie davor.
Für dieses Phänomen gibt es Gründe. Zum einen führt eine Automatisierung nachvollziehbarerweise dazu, dass der jeweilige Mensch sich weniger mit seinem eigentlichen Arbeitsgegenstand beschäftigt, da diese Aufgabe ja jetzt von einer Maschine oder einem Computer übernommen wird. Sobald ein Eingreifen dann doch nötig wird (und sei es nur um zu überprüfen ob die automatisierte Arbeit richtig ausgeführt wird), dauert das aufgrund der fehlenden Erfahrung länger und ist fehleranfälliger.
Des Weiteren entstehen durch die Automatisierung neue Aufgaben, die es vorher nicht gab. Die Maschine, bzw. die Computerprogramme müssen betrieben, gewartet, repariert und modernisiert werden, was zum einen arbeitsintensiv ist, zum Anderen im Vergleich zu der früher selbst durchgeführten eigentlichen Arbeit deutlich abstrakter und monotoner, was zu nachlassender Konzentration führt, mit der erneuten Folge, dass die Wahrscheinlichkeit von Fehlern (die dann repariert werden müssen) steigt.
Zuletzt entsteht durch die Notwendigkeit, sowohl den eigentlichen Arbeitsgegenstand als auch die Automatisierungstechnik zu beherrschen, eine hohe kognitive Belastung, die auch hier wieder zur Ursache menschlicher Fehler werden kann. Dabei kann es sogar zu einer "Automatisierungs-Ironie in der Automatisierungs-Ironie" kommen, wenn zur Reduzierung dieser Belastungen konzipierte Automatisierungen durch ständige Ergebnisberichte selbst kognitiv belastend werden.
Einen einfachen Ausweg aus diesem Dilemma bietet Lisanne Bainbridge nicht, stattdessen weist sie darauf hin, dass die Lösung nur daraus bestehen kann, ein einzelfallspezifisches Optimum an Automatisierung zu finden, das jeweils bestimmt wird durch Umfang und Komplexität der Prozesse, Änderungs-Häufigkeit, (In-)Stabilität der Umgebung und des Arbeitsgegenstandes, Auswirkungsgrad möglicher Fehler und Qualifikation des jewils eingesetzten Personals.
Auch hier läuft es damit einmal mehr darauf hinaus, sich in einer unbeständigen Welt durch Inspect & Adapt kontinuierlich neu auszurichten und das für den Moment beste Vorgehen zu finden, das sich aber bereits bald wieder ändern kann. Und selbst wenn Lisanne Bainbridges Ironies of Automation sich ursprünglich auf die Frühzeit der Digitalisierung in den 80er Jahren bezogen hat, sind die Parallelen zur heutigen KI-getriebenen Automatisierung offensichtlich.
PS: eine wichtige Differenzierung - die Ironies of Automation sind klar zu unterscheiden von den oberflächlich ähnlichen Rebound-Effekten. Auch die machen die Effektivitäts- oder Effizienzgewinne von Automatisierungen wieder zu Nichte, die dahinterliegenden Mechanismen sind aber komplett andere. Mehr zu den Rebound-Effekten steht hier.