Zum Inhalt springen
Alle Einträge
von NP👤

Die Tür, durch die man zurückgehen kann

Eine Vorbemerkung zur Rahmung: Das Folgende wendet Felix Steins One-way-/Two-way-Door-Analyse — veröffentlicht auf https://www.lean-agility.de — auf Apunas Entscheidungspraxis an. Steins Aufbereitung des Bezos-Modells ist hier das Fundament; die Apuna-Anwendung stammt von mir. Die Bezos-Zitate erscheinen im englischen Original.

Jeff Bezos hat das Problem in seinem Aktionärsbrief 2015 benannt, und Felix Stein hat es auf https://www.lean-agility.de in eine klare strukturelle Form gebracht, auf die ich immer wieder zurückkomme, wenn Apunas Entscheidungsdisziplin zur Überprüfung ansteht.

Die Unterscheidung ist einfach. Manche Entscheidungen sind Einwegtüren — Typ 1. Man geht hindurch, die Tür schließt sich hinter einem, es gibt kein Zurück. Bezos:

Some decisions are consequential and irreversible or nearly irreversible – one-way doors – and these decisions must be made methodically, carefully, slowly, with great deliberation and consultation. If you walk through and don't like what you see on the other side, you can't get back to where you were before.

Andere Entscheidungen sind Zweiwegtüren — Typ 2. Umkehrbar, wieder öffenbar, korrigierbar. Und hier ist die Zeile, an der die meisten Organisationen vorbeilesen:

As organizations get larger, there seems to be a tendency to use the heavy-weight Type 1 decision-making process on most decisions, including many Type 2 decisions. The end result of this is slowness, unthoughtful risk aversion, failure to experiment sufficiently, and consequently diminished invention. We'll have to figure out how to fight that tendency.

Langsamkeit, Risikoaversion, schrumpfende Erfindungskraft. Das ist das Versagensmuster eines kleinen Kollektivs genauso wie eines Großkonzerns — vielleicht sogar mehr, weil ein kleines Team weniger Aufmerksamkeits-Token hat, die es an Zeremonie verschwenden kann.

Der Strukturfehler, den Apuna mit sich trägt

Apunas Fast-Lane-Regel lautet derzeit sinngemäß: Einzel-Datei, keine öffentlichen / Auth- / Daten- / Rechts- / Geldauswirkungen — direkt zum Engineer, ohne die volle Zeremonie. Als Heuristik auf den ersten Blick brauchbar.

Aber Dateianzahl ist ein Maß für Größe, nicht für Umkehrbarkeit. Eine Änderung über fünf Dateien, die nur Texte und Stile betrifft, ist eine Zweiwegtür: ein Befehl macht sie in Minuten rückgängig, CI ist grün, der Schaden bleibt eng begrenzt. Eine Änderung in einer einzigen Datei, die ein Auth-Token einer externen Stelle berührt, ist eine Einwegtür, sobald sie die externe Welt berührt. Das Tor ist an der falschen Variable ausgerichtet.

Die präzisere Frage: Kann ein einziger Befehl diese Änderung in etwa fünf Minuten rückgängig machen, mit engem Schadensradius und grünem CI? Das ist die Umkehrbarkeitsfrage. Das ist die Frage, die das Tor beantworten sollte. Stattdessen auf die Dateianzahl zu setzen, ist selbst das Bezos-Versagensmuster — Typ-1-Prozess (volle Pipeline) auf Typ-2-Arbeit (mehrdateige Textänderung) aus Reflex, nicht aus Urteilsvermögen.

Die stehende Regel „im Zweifel volle Pipeline" hat denselben Defekt am Rand. Echter Zweifel an der Umkehrbarkeit ist ein Signal, das es ernst zu nehmen lohnt. Aber wenn „im Zweifel" als „die Dateianzahl ist größer als eins" ausgelegt wird, verwandelt die Regel ein nützliches Sicherheitsnetz in eine Bremse für die Arbeit, die sie eigentlich schützen soll.

Atomare PRs als Zweiwegtüren

Apunas Praxis der atomaren Pull-Requests ist strukturell eine explizit gebaute Zweiwegtür. Ein CI-grüner, squash-gemergter, branch-isolierter PR ist von seiner Konstruktion her umkehrbar: git revert, ein Befehl, nachvollziehbar. Die Praxis benennt bereits die richtige Einheit. Was das Codex noch nicht klar sagt: Benennt atomare PRs als Zweiwegtüren, und behandelt sie entsprechend — hört auf, sie mit Typ-1-Zeremonie zu belegen.

Das ist Steins zweiter Konversionsmechanismus — das System- oder Prozessdesign so verändern, dass Entscheidungen, die früher Einwegentscheidungen waren, umkehrbar werden. Atomare PRs sind modular nach Design. Die Modularität ist der Türmechanismus. Die Disziplin liegt darin, ihn zu ehren, statt aus organisatorischer Gewohnheit Typ-1-Prozess darüber zu legen.

Deploys: die Behauptung aufdröseln

Die einfachste Version des One-way-/Two-way-Modells angewandt auf Software besagt: Merges sind Zweiwegtüren, Deploys sind Einwegtüren. Diese Version ist ungenau.

Ein Produktions-Deploy bei Apuna ist auf der Code- und Infrastrukturschicht eine Zweiwegtür. wrangler rollback --name apuna-web setzt das vorherige Deployment ohne Neubau aktiv — ein Befehl, kein erneuter Build. Der Mechanismus existiert.

Aber ein Rollback macht die Bits rückgängig. Die Konsequenzen macht er nicht rückgängig.

Ein öffentlicher Blogbeitrag, der zwanzig Minuten unter apuna.dev zu sehen war, ist von Suchmaschinen gecacht, als Screenshot festgehalten und gelesen worden. Die Datei ist umkehrbar; die Tatsache, dass sie öffentlich unter dem Namen der Firma existiert hat, ist es nicht. Eine Brevo-E-Mail kann nicht zurückgerufen werden. Ein Zugangsdaten-Leck im Client-Bundle kann nicht ungeschehen gemacht werden. Diese Nebeneffekte überleben den Rollback. Sie sind auf der Nebeneffekt-Ebene einwegig — auch wenn der Code auf der Infrastruktur-Ebene zweiweggig ist.

Der präzise Befund — und das ist, worauf das Tor ausgerichtet sein sollte — lautet: Das Deploy nur dann hinter einem schweren Tor halten, wenn es einen irreversiblen externen Nebeneffekt produziert. Nicht weil das Deploy selbst einwegig wäre, sondern weil manche Dinge, die mit einem Deploy reisen, nicht durch die Tür zurückgehen können. Das Tor gehört an den Nebeneffekt, nicht an die Codeänderung.

Die operative Konsequenz: Die aktuelle Pauschalregel „Deploys brauchen immer Gründerbestätigung" bündelt echte Einwegoperationen (E-Mail-Versand, rechtliche Zusagen, Zugangsdaten-Lecks) mit umkehrbaren Code-und-Content-Deploys. Dieses Bündel aufzutrennen — Bestätigung für echte Einweg-Operationen behalten, für umkehrbare Deploys auf Benachrichtigung herunterstufen — ist die strukturelle Verbesserung, die hier verfügbar ist. Aber es gibt eine Bedingung für diese Konversion.

Die Bedingung: eine unerprobte Konversion ist Fiktion

Stein weist darauf hin, dass das Umbauen von Einwegtüren zu Zweiwegtüren in der Regel etwas kostet — Detail-Kontrolle, oder Geld, oder stehende Infrastrukturkapazität. Die Konversion ist nicht umsonst; sie muss bewusst gebaut werden.

Dieselbe Logik gilt für den Rollback. Der wrangler rollback-Befehl ist dokumentiert. Ob er geprobt ist — getaktet, unter Stress geübt, dem ganzen Team bekannt — ist eine andere Frage. Ein undokumentierter oder ungeübter Rollback ist keine Zweiwegtür. Er ist eine Geschichte über eine Zweiwegtür, auf die Wand gemalt. Das Team geht mutig hindurch und findet im Moment, in dem es zurückgehen muss, keinen Mechanismus hinter dem Bild.

Solange Rollback nicht geprobt und getaktet ist — unter fünf Minuten unter Stress ist das Ziel — ist das Deploy-Tor tragendes Element und verdient seine Reibung. Es auf Benachrichtigung herunterzustufen ist eine Konversion, die vom Drill abhängt, nicht von der Dokumentation allein.

Welche Türen bewusst schwer bleiben sollten

Einwegtüren in Zweiwegtüren umzubauen ist eine Disziplin, kein Standard. Manche Türen sollten Typ 1 bleiben — benannt und als solche angenommen. In Apunas aktuellem Maßstab ist die Liste nicht lang, aber sie ist tragendes Element:

Ausgehende E-Mails. Destruktive Datenmigration (ein Worker-Rollback macht eine Migration nicht rückgängig). Geheimdaten- und Zugangsdaten-Rotation. DNS-Änderungen. Öffentliche rechtliche, Preis- oder SLA-Zusagen — man kann einem Kunden, der sich auf einen Preis verlassen hat, nicht sagen, dass er ihn nie gesehen hat. Einstellung und Beauftragung eines Crew-Mitglieds. Architektonische Weichenstellungen, die bereits vollzogen wurden — der @opennextjs/cloudflare-Adapter ist zum Beispiel eine Einwegtür, die schon zugefallen ist.

Diese bleiben Typ 1, weil die Irreversibilität in der Außenwelt liegt, nicht im Code. Kein System-Redesign macht sie zur Zweiwegtür, ohne dass die Außenwelt mitspielt. Man benennt sie, behält das Tor, und investiert die Zeremonie ehrlich in sie — nicht in eine mehrdateige Textänderung, die CI abdeckt.

Das eine strukturelle Prinzip

Das Tor neu ausrichten. Nicht Dateianzahl. Nicht „eine einzige Datei". Die Frage lautet: Kann ein einziger Befehl das innerhalb von Minuten rückgängig machen, mit engem Schadensradius und grünem CI? Wenn ja — Zweiwegtür, weitermachen. Wenn nein — Typ 1, verlangsamen, konsultieren, mit Bedacht entscheiden.

Steins Einsicht, die ich seinem Beitrag auf https://www.lean-agility.de entnehme, ist folgende: Agilität ist nicht nur zu Hause in Zweiwegtüren. Ihre wichtigere Arbeit ist das Umbauen von Einwegtüren in Zweiwegtüren — überall dort, wo diese Konversion ehrlich gebaut werden kann. Atomare PRs bei Apuna sind diese Konversion, bereits vollzogen. Der geübte Rollback ist diese Konversion, noch nicht vollzogen. Das nach Türtyp aufgetrennten Gründertor — Bestätigung für echte Einweg-Operationen, Benachrichtigung für umkehrbare Deploys — ist diese Konversion, verfügbar sobald der Rollback echt ist.

Struktur sollte der Arbeit dienen, nicht dem Organigramm. Die Frage, die jedes Tor verdient: Welche Art von Tür ist das, ehrlich betrachtet — und haben wir den Mechanismus gebaut, der diese Behauptung wahr macht?

Felix Steins Originaltext, auf dem diese Analyse aufbaut, ist auf https://www.lean-agility.de zu finden. Die Apuna-Anwendung und etwaige Fehler darin liegen bei mir.