English translation available

27′

Leichtigkeit

It’s the easy improvement you don’t have time to make. It’s the good advice you don’t have the energy to follow. It’s the obvious solution you’re too distracted to notice. When the gap between the demands you face and the resources you have to meet them widens past the point of no return, self-defeating actions like these take hold. […] But the harder you struggle to meet the impossible demand, the more you lose the very performance edge that you need to break the cycle. (Jesse Sostrin, Q&A)

Sostrin, ein Führungsexperte und Autor, beschreibt in diesem Zitat einen Zustand, den viele von uns kennen. Wir denken vielleicht an Überforderung, Arbeit im Hamsterrad und ein Gefühl der Ausweglosigkeit. Während er sich auf die Auslastung von Manager*innen konzentriert, möchte ich hier darauf eingehen, wie schnell bei der Entwicklung eines Softwareproduktes alle Beteiligten in diese Falle geraten, und welche Auswirkungen das auf die Leistungsfähigkeit eines Unternehmens hat. Es ist eine zentrale Aufgabe von Führung, diesen Zustand bei Mitarbeiter*innen zu verhindern, wenn Innovationsfähigkeit relevant ist. Das ist nicht leicht, weil sie neben Kultur auch Produkt und geschäftliche Fragen berühren muss, um erfolgreich zu sein. Die Mechanik agiler Prozesse alleine verhindert jene Trägheit nicht, die sich über einen längeren Zeitraum hinweg einstellen kann. Der kritische Faktor bleibt eine andere Zutat. Eine gewisse Weisheit bei der Planung? Ein bestimmter Blick auf Menschen und Produktentwicklung? Warum landen wir so häufig an dem Ort, den das Eingangszitat beschreibt?

Grenzen und Vorstellung

At any given time, the input that is most important to a system is the one that is most limiting. (Donella H. Meadows, Thinking in Systems)

Beginnen wir bei uns. Wir sind schneller überfordert, als wir uns eingestehen. Überfordert meint dabei nicht den Zeitpunkt, an dem man in eine Klinik eingeliefert wird. Es meint, dass unsere Aufmerksamkeit Grenzen hat. Wir können nur eine geringe Anzahl Dinge gleichzeitig im Kopf halten. Anderes fällt aus unserem Blickfeld, irgendwann erinnern wir uns wieder. Unsere Wahrnehmung ist selektiv, wir verstehen komplexe Systeme nur unter Anstrengung. Unser Gefühl, etwas verstanden zu haben, eilt wirklichem Verständnis voraus. Jeder Kontextwechsel verbraucht Zeit, und wir büssen an Konzentration ein. Wir arbeiten gut in kleinen Teams, weil da Kommunikation und Vertrauen leicht fallen. Zeit ist begrenzt, und nicht jede Stunde bringt gleich viel Ertrag. Die verbleibende Menge bestimmt unsere Wahrnehmung und Druck die Qualität unserer Leistung. Die Energie, die uns durchs Leben trägt, ist die selbe, die uns bei der Arbeit bleibt. Wir vergessen gerne, wie lange diese Liste wird. Wir sind selber die dominierende Limite, nicht einfach nur Zeit.

[…] we don’t like, especially when our own plans and desires are involved, to think about limits. (ebd.)

Dem steht ein anderes Bild gegenüber. Es erzählt davon, wie wir über uns hinauswachsen können. Dass Anstrengung zu ungeahnter Leistung führen kann. Dass ein wenig Überforderung bloss die Schwelle zu etwas Neuem sei. Begeisterung und Durchhaltevermögen sind in unserer Kultur wichtig. Wir wollen den Glauben an das Unmögliche nicht aufgeben. Diese Sprache des Aufbruchs hilft uns, Dinge anzupacken, einen Anfang zu finden und loszulegen. Endlich weg von der Bedenkenträgerei, was soll daran falsch sein? Wir unterschätzen dabei oft die Arbeit, die anfällt und überschätzen unsere Fähigkeiten. Beides hilft, vielleicht würden wir sonst nie losziehen. Wir wollen uns nicht an Grenzen orientieren, sondern an unserer Vorstellungskraft.

Danach vergeht Zeit. Neue Kunden, Fragen, Kontexte, mehr Menschen und Meinungen. Der Markt verändert sich, die Ausrichtung des Produkts, das eigene Tun erscheint in neuem Licht, geschäftliche Zwänge werden dominanter, Teams haben unterschiedliche Anreize, intern schlagen sich neue Interessen und Vorlieben Bahn. Es gibt viele Gründe dafür, warum Komplexität immer automatisch anwächst, gerechtfertigt oder nicht. In dieser Zeit ändert sich noch etwas: Es reicht nicht mehr, einfach durchzupowern. Man schafft die Dinge nicht mehr so, wie man zu Beginn den Anfang geschafft hatte. Der Glaube an die Willensanstrengung allein, nur noch dieses eine Mal, gleitet schnell in magisches Denken ab. Die Herausforderungen, derer man sich bewusst wird, wenn man dazulernt, werden zahlreich und vielgestaltig.

Die Sprache des Aufbruchs bietet keine Antwort darauf. Die Sehnsucht nach dem Meer will ja nicht von Grenzen sprechen. Sie führt uns unbeirrt und hilflos durch die Menge an Arbeit und Menschen in eine Überlastung, die sich anders anfühlt als jene vom Anfang. Wir treiben nicht mehr an, sondern fühlen uns eher von den Umständen getrieben. Ändert Urlaub etwas daran? Ist es noch zu früh, vom Spiessrutenlauf zu schreiben? Wer jetzt einfach weitermacht, hat es zum Hamsterrad nicht mehr weit. Nur ein paar Monate noch, und wir machen es zu unserem Reich, in das wir uns zurückziehen. Unser Umfeld folgt uns dabei und ehrt uns mit dem Vertrauen, dass wir störungsfrei funktionieren. Jetzt die Maschine nicht aus dem Takt bringen. Was wir täglich tun, verändert unser Denken und prägt uns. Wir gewöhnen uns an das Geradeaus. An diesem Ort befällt uns dann eine seltsame Blindheit – es scheint auf einmal schwer, die eigene Arbeit anders zu sehen. Irgendwo hier verlieren wir wichtige Eigenschaften: Leichtigkeit, Beweglichkeit, Autonomie. Die Richtung zu ändern, neue Perspektiven einzunehmen, einer Sache noch einmal in Ruhe nachzugehen. Ein Neubeginn, denken wir, könnte uns retten. Alles vom Tisch, müsste man, tabula rasa. So sehnen wir uns zurück zur Sprache des Anfangs.

Das ist natürlich alles eine grobe Skizze. Ihre Dynamik lässt sich dennoch beobachten. Wir selber würden wohl nicht davon sprechen, dass wir überlastet sind. Eher ausgelastet, würden wir sagen, etwas eingespannt vielleicht. Es gehört zum guten Ton, viel Arbeit auszuhalten. Ich glaube aber, dass da etwas schief läuft und dass es mit unserer Idee von guter Leistung, und dem Verständnis von Grenzen zu tun hat. Bei den Grenzen weiss man ja nicht so recht, wie man damit umgehen soll. Eine unsichtbare Wand irgendwo vorne, bis hierher läuft’s noch ganz gut. Ratschläge gibt es viele, 20 Tipps für eine gesunde Work-Life-Balance, wer will da noch Fragen haben. Solche Aktivitäten bleiben aber eine Nebenveranstaltung, wenn der Alltag davon unberührt bleibt. Die Grenzen, von denen ich sprach, sollte man sich nicht als rote Linien vorstellen, vor denen alles noch geht und dahinter auf einmal nichts mehr. Unser Denken und Verhalten ändert sich, je näher wir ihnen kommen. Die Frage ist nicht, ab wann nichts mehr geht, sondern wie weit davor unser Handeln sich verändert und auf welche Weise genau. Es geht eher um Reserven, als um Grenzen. Was genau sind diese Reserven und warum sollten sie wichtig sein? Unterliegt nicht alles Tun immer dem selben Zyklus von Begeisterung, Überforderung, Erneuerung? Durchstarten, reinhauen, Akku laden?

Reserven und Innovation

Sostrin verweist an einer Stelle auf Howard McClusky, einem Professor für Erziehungspsychologie, der 1963 den Ausdruck der Leistungsreserve (im Original margin of power) prägte. McClusky befasste sich mit der Weiterbildung älterer Menschen und fragte sich, warum einige erfolgreich neue Initiativen beginnen und abschliessen konnten, während andere komplett überfordert schienen. Er glaubte, dass das an ihrer jeweiligen Leistungsreserve lag. Diese beschrieb er als Verhältnis zwischen der Last, die man trägt (z. B. Arbeit, Privatleben, Vergangenheit, Ambition, Erwartungshaltung anderer, auch wenn nur vermutet), und der Kraft, die man aufbringen kann (z. B. Energie, Fähigkeiten, Besitz, Position, Verbündete).

He [McClusky] believed the theory [Theory of Margin] was relevant for understanding adults lives, especially as they aged and their various demands or pressures increased. Howard believed that being an adult means facing continuous growth, change, and integration, in which constant effort must be made to use the energy available for meeting normal living responsibilities. However, because people have less than perfect control over many aspects of their lives, they must find ways to be prepared to meet unpredictable crises or problems. (Roger Hiemstra)

Das schaffen die Leute nur dann, wenn sie über ausreichend Reserven verfügen. McClusky bezifferte die ideale Auslastung mit 50 bis 80 Prozent. Dieses Zitat aus der Altersforschung und die Wahl der Worte darin passen überraschend gut zu unserem Thema. Ein wenig erinnert das an Tom DeMarco und sein Buch Slack, das 2001 erschien. Spielräume lautet der Titel der deutschen Übersetzung. Darin beschreibt er, wie wichtig diese Spielräume für Effektivität und Innovation in einem Unternehmen sind. Sie erfüllen dabei eine ähnliche Funktion wie die Leistungsreserve.

You can’t grow if you can’t change at all. […] Change and reinvention require a commodity that is absent in our time as it never has been before. That commodity – the catalytic ingredient of all change – is slack. Slack is the time when reinvention happens. It is the time when you are not 100 percent busy doing the operational business of your firm. Slack is the time when your are 0 percent busy. Slack at all levels is necessary to make the organisation work effectively and to grow. It is the lubricant of change. Good companies excel in creative use of slack. And bad ones only obsess about removing it. (Tom DeMarco, Slack)

Dieser letzte Satz spielt auf eine zentrale Kritik in seinem Buch an: Dem Fokus auf Effizienz. Das Ideal der effizienten Vollauslastung aller Mitarbeiter*innen ist weit verbreitet. Wenn aber zwei Menschen zu 50% ausgelastet sind, lautet die Antwort nicht zwingend, dass besser nur eine Person alles erledigen sollte. Wir sind erstens nicht so austauschbar, wie man sich das am Reissbrett gerne vorstellt. Wir verlieren weiter an Beweglichkeit, zwei Leute können zeitig auf Unvorhergesehenes reagieren. Sie haben den Kopf frei, um Neues zu bedenken. Je mehr Aufgaben auf eine Person fallen, desto höher steigt die Zahl der Kontextwechsel. Jeder Wechsel beeinträchtigt unsere Aufmerksamkeit und bedeutet Zeitverlust. Das ständige Wiederherstellen von Immersion, der Verlust von Konzentration auf die eine Aufgabe frustrieren, was weiter Energie verbraucht. Wir verlieren Kohäsion in Teams, die nur dann mehr als die Summe ihrer Mitglieder sind, wenn sich alle auf eine gemeinsame Aufgabe einschwören können. So schaffen wir Schicksalsgemeinschaften, deren Ziel darin besteht, heil durch den Tag zu kommen. Das alles erhöht Fluktuation. Wissen geht verloren, und Zeit wird gebraucht, bis Ersatz produktiv wird. Weiter, so DeMarco, herrscht effiziente Vollauslastung nur dann, wenn bei allen immer schon ein Stapel Arbeit bereitliegt, um nach dem Abschluss einer Aufgabe keine freie Zeit entstehen zu lassen. So wird das ganze System nach und nach unbeweglicher, und die Menschen darin passen sich an die Umstände an. Was ist die ideale Tretgeschwindigkeit in einem Hamsterrad? Wie beweglich sind wir mental, wenn unsere Tage durchgeplant werden?

There are things you can do to make an organisation more efficient that interfere with its ability to change and reinvent itself later. (ebd.)

This [change, reinvention] is work that can’t usually be done by an elite corps of change specialists; it needs to be done by the very people who are to be changed. […] That means that everybody needs to have some capacity to devote to change. This is time that people dedicate to rethinking how their piece of the whole works, and how it ought to work. […] That’s the cost. The benefit is vitality and a firm grip on the future. Slack is the way you invest in change. Slack represents operational capacity sacrificed in the interests of long-term health. (ebd.)

Was sind change und reinvention, von denen ständig die Rede ist? Wie bei Innovation denken wir vielleicht an eine grosse Idee oder Initiative, die alles auf einen Schlag erneuert. Je höher das Podest, auf das wir diese Worte stellen, umso mehr klingt die Sehnsucht nach einem Neubeginn durch. Dabei ist diese Überhöhung nicht hilfreich. Wir sollten das Wort Innovation und DeMarcos Zitat ein wenig anders lesen. Bei der Arbeit an Software finden wir etwas Ähnliches in kleinerer Form und grösserer Zahl, manchmal ungeplant und meist evolutionär. Wir nennen es Lösung. Eine Lösung ist nicht nur der Abschluss eines Problems, sondern verändert auch unseren Blick nach vorne. Man steht jetzt woanders als zuvor, und findet Dinge selbstverständlich, die es vorher nicht waren. Dieser Lernvorgang verändert nach und nach unser Handeln und unsere Wahrnehmung der Realität, die uns umgibt. Das müssen keine weltbewegenden Erkenntnisse sein. So, wie auch der nachhaltende Erfolg eines Produktes nicht von einer einzigen, grossen Innovation abhängt, sondern aus unzählbaren Details besteht. Aus der persönlichen Perspektive aller, die an diesen Details arbeiten, auf Basis ihrer individuellen Erfahrung und Fähigkeiten ist die Arbeit so ständig von change begleitet. Vor allem dann, wenn Zeit da ist, um gute Lösungen suchen zu können, die wiederum die nächsten Schritte verändern dürfen. Wenn Handlungsfreiheit gegeben ist, um die Suche beweglich zu halten und Gelerntes auch umsetzen zu wollen. Das mag alles offensichtlich erscheinen. Aber der Spielraum für diese Beweglichkeit wird sehr schnell sehr klein. Dabei liegt in diesem kontinuierlichen Vorgang die Innovationsfähigkeit eines Unternehmens begründet. Innovation fällt nicht als Blitz vom Himmel. Der Begriff der Innovation betont das Grosse und Einzelne, während die Realität eher aus Unzählbarem, dem Kontinuierlichen und der Leistung vieler Menschen besteht. Aus dieser Perspektive müsste die Reserve aller Mitarbeiter*innen zentrales Thema von Planung sein. Das geschieht aber nicht, im Gegenteil. Pläne konzentrieren sich meistens nur auf Umsetzung fixer Ideen und darauf, Zeit (oder eben Iterationen) möglichst auszufüllen. Die Idee der Spielräume wird dann auch von einem ganz anderen Konzept in Schach gehalten.

Überstunden und Qualität

Überstunden sind das Gegenteil von Reserven. Vor allem sind sie unsichtbar. Vielleicht wird in einem System eine Zahl dazu erfasst. Je mehr Überstunden sich ansammeln und damit zur Regel werden, umso weniger hat diese Zahl einen korrigierenden Einfluss auf Planung. Es mag ein Bewusstsein dafür geben, doch im Detail wird nur zwischen wenig und viel unterschieden. Wie sehr eine Planungsebene versagt, bleibt ohne Konsequenzen. Bis vielleicht Menschen weit über alle Grenzen hinaus gehen und wegbrechen. Davor geschieht aber etwas, das nicht genug betont werden kann: Überstunden verschlechtern die Sicht darauf, was in einem Unternehmen tatsächlich vor sich geht. Der Führungsebene wird ein falsches Bild davon vermittelt, was Entwicklung in Realität bedeutet und welche Rolle Planung wirklich spielt. Das trifft besonders auf jene Überstunden zu, die für Neues investiert werden, weil man dann die Ruhe dafür hat. Das kann den Mitarbeiter*innen aus Einfallslosigkeit nahegelegt werden. Wenn aber Freizeit für Reserven herhalten muss, wird Innovation zur Privatangelegenheit gemacht. Es mag aus Nachlässigkeit oder Ignoranz geschehen. Es mögen zynischere Absichten dahinter stehen. Ein weiterer Grund für Überstunden soll uns aber in diesem Text weiterführen.

Extended overtime is not just something that companies do to their workers; workers also do it to themselves. You can’t discuss the subject intelligently without taking account of the addictive, almost erotic, appeal that deep and obsessive involvement in a task can have. There is a high associated with such efforts that may cloud your judgement a bit but still feels awfully good. […] What’s clear here is that the high, the narcotic of gonzo overindulgence, and the associated fatigue all combine to reduce the individual’s mental capacities. If the quality of thinking matters, then overtime is not a great prescription. (ebd.)

Niemand entwickelt 8 Stunden am Stück gute Software. Die Wahrscheinlichkeit, dass wir dabei neue Probleme schaffen, ist hoch. Wir tun es trotzdem. Der Sehnsuchtsort des Flows garantiert aber nicht, dass wir das Richtige tun. Viele Stunden würden wir besser damit verbringen, aufzuhören, Austausch mit anderen zu suchen oder einfach schlafen zu gehen. Durchhaltevermögen ist wichtig – Leichtigkeit ebenso. Wir verstricken uns überraschend schnell in Probleme, die unnötig sind und selbstverschuldet. Die Frage danach, was man gerade tut und weshalb, ist für mich die Arbeit an Effektivität und mir scheint, als würden wir bei zunehmender Arbeitslast immer schlechter darin. Als könnten wir nicht mehr damit aufhören, in eine Richtung zu rennen, wenn wir einmal losgerannt sind. Als ginge es darum, sich bei der Suche nach dem Gral immer irgendwie im Wald verlieren zu müssen. Obsession fasziniert uns, mehr als die Idee der Reserve je hoffen darf.

Wo Überstunden sind, leidet Qualität. John D. Sterman bespricht in seinem Buch Business Dynamics die Auswirkungen von Termindruck auf die Arbeitswoche und die Zeit pro Aufgabe. Mit Rogelio Oliva wies er in Cutting Corners and Working Overtime: Quality Erosion in the Service Industry (2001) nach, dass wir zwar zu Überstunden bereit sind, dabei aber in jeweils höherem Mass an der Qualität der Arbeit Abstriche machen. Sterman schreibt dazu in seinem Buch:

[…] workers at [a] bank were much more willing to cut corners than to work overtime when schedule pressure rose above normal. This result has important implications for the quality of service the bank was able to deliver. Within broad limits, a rise in workload was quickly accommodated by spending less time with each customer and, to a lesser extent, cutting back on lunch and breaks. Management therefore perceived little pressure to add service capacity. Indeed, management may interpret the rise in throughput per person as productivity growth and may cut service personnel to reduce expenses, further increasing schedule pressure and perpetuating high workloads in a positive loop. Indeed, Oliva found strong evidence for just this loop, leading to persistent erosion of service quality. (John D. Sterman, Business Dynamics)

Schlechte Qualität hat einen Effekt auf uns selber. Wir kümmern uns nicht gerne um ständig Kaputtes. Es verbrennt Energie und inspiriert nicht zu Neuem. Wir wollen da sein, wo Dinge funktionieren und Menschen sich kümmern. Schlechte Qualität zerstört im Lauf der Zeit jede Motivation und den Glauben an die gemeinsame Vision. Bald scheint es, als würde das Resultat der Arbeit keine Rolle mehr spielen, übrig bleibt eine unbestimmte Betriebsamkeit. Qualität steckt überall, in jedem kleinsten Schritt. Sie erfordert die Aufmerksamkeit von allen Beteiligten, auf allen Ebenen und lässt sich so nur schwer micro-managen. Sie ist eine Frage von Einstellung und ausreichend Zeit. Dafür braucht es Reserven, Iterationen, kontinuierliche Verbesserung, alles schlecht voraussehbar. Qualität muss deshalb als zentraler Wert von der Führungsebene gelebt und eingefordert werden. Sie ist kein Extra, das man sich leistet, sondern hält die Tür dazu offen, Sorge zu tragen, und nach Besserem zu suchen. Qualität macht so Eigeninitiative leichter. Sie hält den Blick frei auf das Produkt, wir benutzen und testen es selber häufiger, während Chaos uns eher davon abhält, näher hinzuschauen.

Planung und Software

We are surprised over and over again at how much time things take. […] Delays are ubiquitous in systems […] – shipping delays, perception delays, processing delays, maturation delays. (Donella H. Meadows, Thinking in Systems)

Was bedeutet dieses Wort, planen? Hier taucht unsere grenzenlose Vorstellungskraft wieder auf. Wir setzen uns hin und planen, das heisst, wir versuchen uns eine Zukunft vorzustellen. Wir sprechen vom Zielbild und davon, wie wir dahin kommen. Wir fragen uns und manchmal andere, ”wie schwierig kann es sein”. Daraus leiten wir ab, wieviel Zeit wir brauchen. Vielleicht schätzen wir eher ab, wieviel Zeit es uns wert ist, wieviel Aufwand vernünftig erscheint. So schnüren wir Arbeitspakete zurecht und laden sie fein säuberlich in einen Laster. Wir wollen keinen Laderaum verschwenden, und schieben Pakete herum, verpacken neu, bis alles passt und effizient erscheint. Dann werden wir uns auf den Weg machen, das heisst, wir werden der Roadmap nachfahren und die Pakete ausliefern, die unseren Kunden Freude bereiten. Planung meint hier Vorhersehbarkeit. Der Wunsch danach ist verständlich. Es ist schön, die Zukunft vorhersagen zu können. Es beruhigt und macht es möglich, Versprechen abzugeben. Diese Versprechen setzen wir ein, um Kompetenz und Ambition zu signalisieren und Kredit, Budget, Zusagen zu erhalten.

Je grösser der Laster, je länger die Roadmap, desto nervöser werden wir. Wir erinnern uns daran, wie oft die Zukunft nicht vorhersehbar war. Wir schauen auf Produktentwicklung und sehen, dass die Analogie mit dem Laster und der Strassenkarte hinkt. Die Arbeit an Software in einem sich bewegenden Markt mit anderen Mitstreitern ist nicht das Abarbeiten und Erfüllen fixer Ideen, sondern ein kontinuierliches Lernen davon, was genau funktioniert und welche neuen Gelegenheiten sich unterwegs zeigen. Und es zeigen sich ständig neue Gelegenheiten. Ein Feature ist kein Punkt auf der Bingokarte, sondern eine Testprobe, die es zu beobachten gilt. Wir verbessern, vereinfachen, verwerfen – je nachdem, was nach jedem Schritt neu gelernt wurde. Wenn nur ausreichend Spielraum diese Beweglichkeit ermöglicht, wird er dann nicht zum Wesentlichen, das geplant werden muss?

In further defense of slack, I find that teams put spare capacity to great use by improving areas within their aegis, in both incremental and novel ways. As a bonus, they tend to do these improvements with minimal coordination costs, such that the local productivity doesn’t introduce drag on the surrounding system. (Will Larson, An Elegant Puzzle, Systems of Engineering Management)

Diese Spielräume oder Reserven schmelzen nun aber bei der Arbeit an Software unglaublich schnell weg. Software, so scheint es, lebt im Reich der Vorstellungskraft, wo es keine Grenzen gibt. Der Wille, das Notebook und die Pizza reichen aus, um neue Welten zu besiedeln. Wir liegen damit nicht komplett falsch. Aber Software ist ein Material mit einer gefährlichen Eigenschaft: Es zieht auf allen Ebenen unablässig Komplexität an. Schon bei der Planung wird meist nur bedacht, wieviel Aufwand eine einzelne, wenig problematisch verlaufende Implementierung bedeuten könnte. Wir unterhalten uns dann darüber, wie einfach sie sei. Dieses Wort führt in die Irre, weil es auf alle eine ähnlich beruhigende Wirkung hat, aber gleichzeitig sehr subjektiv ist. Man sollte davon ausgehen, dass man keine Ahnung hat, was das Gegenüber sich unter einfach genau vorstellt. Das Wort dient nicht der Klärung eines Sachverhaltes, oder ob man überhaupt tun sollte, was einfach ist, sondern bleibt meist eine rhetorische Figur. Die Geste der Selbstverständlichkeit hilft, mögliche Zweifel zu neutralisieren. Mit Einfachem füllen wir ausserdem gerne vermeintliche Lücken und zerstören so Reserven, die wir später benötigen. Es gibt beim Blick auf die Implementierung aber auch etwas anderes zu bedenken.

The work of implementing a feature initially is often a tiny fraction of the work to support that feature over the lifetime of a product […]. The initial time spent implementing a feature is one of the least interesting data points to consider when weighing the cost and benefit of a feature. (Kris Gale, The One Cost Engineers and Product Managers Don’t Consider)

Consider [when adding a feature]… Opportunity costs across all disciplines. Cost to implement feature (engineering, UX, product). Cost to implement incremental improvements (engineering, UX, product). Cost to deliver feature (processing, storage, monitoring). Cost to train people internally to sell the feature and to support it. Cost to market the feature to existing customers, and to new ones. Coordination costs across all teams. Cost to document and train users on new feature. Cost to maintain that extra documentation. Cost to train engineers on more complex codebase. Cost of slower engineering, caused by increased system complexity and maintenance. Cost to hire more resources to account for slower engineering. Cost of reduced flexibility, caused by increased system complexity and maintenance. Cost of maintaining system usability as system broadens. (John Cutler, Tweet)

Viel Gelegenheit, in Überlastung zu versinken. Auch auf einer technischeren Ebene finden wir das Ziel, Beweglichkeit zu erhalten. Softwareentwicklung selber ist in weiten Teilen die Arbeit daran, Komplexität niedrig zu halten. Der Aufwand, zu einem späteren Zeitpunkt Teile verstehen, verändern oder komplett entfernen zu können, soll so gering wie möglich bleiben.

Complexity [in software design] isn’t caused by a single catastrophic error; [it] comes about because hundreds or thousands of small dependencies and obscurities build up over time. […] The incremental nature of complexity makes it hard to control. It’s easy to convince yourself that a little bit of complexity introduced by your current change is no big deal. However, if every developer takes this approach for every change, complexity accumulates rapidly. Once complexity has accumulated, it’s hard to eliminate, since fixing a single dependency or obscurity will not, by itself, make a big difference. […] As complexity increases, it leads to change amplification [simple change requires many modifications], a high cognitive load [to understand the code base], and unknown unknowns [it might not be obvious which parts have to change for a modification]. (John Ousterhout, A Philosophy of Software Design)

Neglecting internal quality leads to rapid build up of cruft. This cruft slows down feature development. Even a great team produces cruft, but by keeping internal quality high, is able to keep it under control. High internal quality keeps cruft to a minimum, allowing a team to add features with less effort, time, and cost. (Martin Fowler, Is high quality software worth the cost?)

Es ist nicht der eine grosse Fehler, sondern die vielen, vormals einfachen Dinge, die die Beweglichkeit eines Softwareproduktes bedrohen. Ganz so, wie es der Ausdruck death by a thousand cuts beschreibt. Hier taucht das Thema der Qualität wieder auf. Und wieder ist sie kein Extra, sondern Mittel dagegen, im Lauf der Entwicklung immer tiefer im Schlamm zu versinken. Die Arbeit an Software ist zu einem signifikanten Teil von Unvorhersehbarem geprägt. Kontinuierliche Produktentwicklung findet selber in einem dynamischen Kontext statt. Was ist Planung, wenn wir zusätzlich Leistungsreserven aufrechterhalten müssen, um für effektive Lösungen mental beweglich genug zu bleiben?

Agile und Agile

Es ist Zeit, den Elefanten im Raum anzusprechen. Warum lautet der Titel dieses Textes Leichtigkeit, warum schreibe ich von Beweglichkeit und nicht Agilität? Löst nicht agile Entwicklung all das Beschriebene? Ja, und nein. Der Begriff selber ist heute ein wenig zerkaut und macht eine Diskussion schwierig. Ein ganzer Beratungssektor ist entstanden, mehr oder weniger liebevoll Agile Industrial Complex genannt. Wir haben Zertifikate, Workshops, viele Frameworks und Methoden. Es gibt bei alldem Kritik und Zweifel daran, ob Agilität richtig umgesetzt wird. Aber was heisst das, richtig? Im Agile Manifesto vom Februar 2001 steht folgendes:

Individuals and interactions over processes and tools. Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan. That is, while there is value in the items on the right [second half of each sentence], we value the items on the left more. (Manifesto for Agile Software Development)

Schon über den ersten Satz dürften einige stolpern. Individuals over processes?! Die Realität von Workshops und Alltag besteht doch vor allem aus Prozessen und Rollen, Iteration, Review, Scrum Master, Story Points, solche Sachen. Alles falsch gemacht? Vielleicht, sagen Autoren des ursprünglichen Manifestos selber (Jeffries, Fowler, Thomas) oder Mary Poppendieck, die 2003 das einflussreiche Buch Lean Software Development: An Agile Toolkit geschrieben hatte. In manchen Artikeln klingt ein wenig Enttäuschung und Müdigkeit durch. Vielleicht spielt das alles keine so grosse Rolle? Auf was kommt es dann an? Die Realität sieht heute so aus: Agile bleibt bis auf weiteres eine Verkehrssprache, die alle irgendwie verstehen, wenn auch die Umsetzung überall etwas anders aussieht. Wie fragmentiert diese Landschaft ist, zeigte Gergely Orosz 2021 in einem Artikel mit dem Titel How Big Tech Runs Tech Projects and the Curious Absence of Scrum. Grundideen von Agile bleiben gültig, iterative Änderungen sind besser als ein Big Bang. Beim Rest werden die Unterschiede gross und Orosz bringt etwas zur Sprache, das uns zurück zu diesem Text bringt.

The success of companies and project management approaches is not always correlated and this story is a reminder of this. I’m not saying how you run projects is not important: it is. But there are other things that might have a greater impact on outcomes, such as focus, leadership approaches, how people work even without a process, and so on.

Teams struggling often had little to do with the methodologies. People mentioned lack of vision, good engineers leaving, lack of transparency or poor tooling as reasons why things went badly. For these teams, no change of methodology would help because the issues ran deeper.

Agile wird heute vor allem als Sammlung von Werkzeugen vermittelt. Menschen müssen weiterhin im Einzelnen die Entscheidung treffen, wie diese angewandt werden. Sie tun dies immer in einem Kontext, der von Unternehmenskultur, Werten und geschäftlichen Zielen geprägt ist. Die Vorgabe dieser Werte und Ziele ist Aufgabe von Führung. Wenn dieser Kontext vor allem auf Features und Geschwindigkeit drängt, wird das jede noch so gut gemeinte Planung reflektieren. Und natürlich kennen wir Iterationen, die sich exakt wie ein Hamsterrad anfühlen. Das Befolgen agiler Prozessvorgaben alleine verhindert nicht das Versinken eines Softwareprodukts im Schlamm von Komplexität, der Verlust jeglicher Motivation und mentaler Beweglichkeit bei allen Beteiligten. Also alle wesentlichen Dinge. Die Idealvorstellung von Agilität setzt selber eine mentale Beweglichkeit voraus, die meist nicht vorhanden ist. Weil zum Beispiel alles auf Auslastung zielt und wir konstante Betriebsamkeit als Zeichen von Leistung wahrnehmen. Weil wir Angst haben, Zeit zu verschwenden. Dieser Text handelt davon. Von dem Hamsterrad, in dem wir schnell landen, die Bewegungslosigkeit, die damit einher geht und die Folgen, die das auf Produktentwicklung hat. Ein typisches Beispiel dafür findet sich im Buch Team Topologies.

[…] sprint planning for the now eight-person-strong team was a mix and match of requests across their stack of responsibilities. Prioritization was hard, and the frequent context switching even throughout a single sprint led to a dip in people’s motivation. This is not surprising if we consider Dan Pink’s three elements of intrinsic motivation: autonomy (quashed by constant juggling of requests and priorities from multiple teams), mastery (jack of all trades, master of none), and purpose (too many domains of responsibility). […] The number of services and components for which a product team is responsible (in other words, the demand on the team) typically keeps growing over time. However, the development of new services is often planned as if the team had full-time availability and zero cognitive load to start with. This neglect is problematic because the team is still required to fix and enhance existing services. Ultimately, the team becomes a delivery bottleneck, as their cognitive capacity has been largely exceeded, leading to delays, quality issues, and often, a decrease in team members’ motivation. We need to put the team first, advocating for restricting their cognitive loads. Explicitly thinking about cognitive load can be a powerful tool for deciding on team size, assigning responsibilities, and establishing boundaries with other teams. (Matthew Skelton, Manuel Pais, Team Topologies)

Wir sind zurück bei der Leistungsreserve angelangt. Sie gehört ständig ins Zentrum von Planung, nicht nur bei der Bildung von Teams.

Führung und Vision

Leichtigkeit aufrechtzuerhalten ist eine Führungsaufgabe. Sie greift ganz grundsätzlich ins Verständnis davon ein, was ein Unternehmen leisten soll. Was bedeutet denn Leistung bei der Entwicklung eines Softwareproduktes? Möglichst viel Zeug? Wir beschreiben Leistung gerne mit Analogien aus dem Sport: Sprint, Marathon, reinhauen, durchhalten, bis hin zu militärischem Vokabular. Es ist aber auch eine Leistung, Innovations-, und Reaktionsfähigkeit am Leben zu erhalten, Leichtigkeit. Im Spannungsfeld von Produktentwicklung und geschäftlichen Zwängen bilden zeitlicher Spielraum und Autonomie einen Nährboden dafür. Diese Balance herzustellen ist nicht einfach. Wenn aber Spielräume nicht von der Führungsebene eingefordert und gelebt werden, verschwinden sie, schneller als man denken kann.

Wir werden weiter Pläne schmieden und uns absprechen. Dieser Text will das nicht in Abrede stellen. Pläne sollten aber weniger auf Vorhersehbarkeit drängen, sondern widerspiegeln, dass man mit ihnen vor allem die Aufmerksamkeit einzelner Teams steuert. Diese sollte nicht an mehreren Orten zerstreut werden. Sie sollte verweilen können. Pläne eröffnen Möglichkeiten, und halten den Blick auf wenige Spielfelder fokussiert. Ausserdem – Achtung, Luft holen – sollten Pläne nicht ambitioniert sein. Es gibt diese Vorstellung von Projektmanagement, dass es nie schade, höher zu zielen, als man einlösen kann. Im Gegenteil hat es aber sehr wohl einen negativen Effekt auf Produkt und Mitarbeiter*innen, wenn ständig zuviel gefordert wird und Teile nur ansatzweise fertiggestellt werden können. Das Vertrauen in die Führungsebene verschwindet. Der Ausdruck aggressive schedule wird gerne bemüht, impending desaster wäre treffender. Magisches Denken und Sportanalogien enttäuschen, weil sie nicht helfen, den Herausforderungen im System Produktentwicklung anders zu begegnen, als ständig hinterherzurennen. Sie sind aber leicht zu erzählen und zu meistern. Und vielleicht liegt darin eine Erkenntnis, der dieser Text noch nicht nachgeben will. Ambitioniert müssen wir bei der Qualität der Umsetzung sein und bei unserer Fähigkeit auf das zu reagieren, was wir in die Welt gesetzt haben. Bei der gemeinsamen Vision müssen wir Ambition signalisieren. Sie hält uns zusammen und bildet ein Fundament, zu dem wir immer wieder zurückfinden. Die Ansätze von Autonomie und Reserven, die hier beschrieben werden, funktionieren nicht ohne eine klare, gemeinsame Mission oder Geschichte.

Successful change can only come in the context of a clear understanding of what may never change, what the organization stands for. (Tom DeMarco, Slack)

A visionary statement is a strong assertion of “who we are”. […] There has to be an element of present truth to the assertion. […] There is always an element of proposed future truth in the statement. […] When the statement walks perfectly between what is and what could be, and the could-be part is wonderful but not impossible, acceptance by those listening is almost assured. […] People want to be led toward a vision that is consistent with reality and their present assessment of the culture. (ebd.)

When we understand plans as a tool for creating momentum rather than a set of inflexible and sometimes stifling parameters, they can provide a sense of direction and orient us around a shared objective. (James Stanier, Planning for momentum)

Dieses letzte Zitat von James Stanier nennt zwar das Wort Plan, meint es aber eher als sich verändernde, gemeinsame Geschichte. Bei alldem bleiben agile Prozesse hilfreich, wir müssen mit ihnen aber individueller umgehen. Die Grundideen des Manifestos bleiben wertvoll, alles andere muss sich dem unterordnen, was ein Team braucht. Das bedeutet auch, dass Teams in Absprache mit ihrer Umgebung ihre Prozesse selber mitbestimmen sollen. Ein Text von Romello Goodman gibt uns hier ein Beispiel für eine ganz eigene Zeitaufteilung.

At The New York Times, for example, my team has a two-week cooldown period every six weeks. We use that time to gather our thoughts, address technical debt, and plan our next set of work. (Romello Goodman, Planning for pause)

Ich hoffe, dass wir alle den Mut finden, die Idee der Reserve und der Spielräume ins Zentrum zu rücken. Es braucht dafür Vertrauen in andere und auch ein Vertrauen darauf, dass die eigene Vision deutlich genug ist, um diesen anderen Blick auf Arbeit und Leistung tragen zu können.

März, 2022