These

Die Quelle der Wahrheit zu wechseln verringert das Risiko nur, wenn die erzeugte Antwort ihre Belege und ihre Lücken mitliefert

Info

Ursprünglich auf Französisch verfasst. Von KI übersetzt — der Sinn wurde bewahrt, nicht der Stil.

Blickwinkel

„Was passiert, wenn der Kunde dieses Element nach der Freigabe storniert?“ — die Frage landet auf Slack, die Support-Seite deckt den Fall nicht ab, und ein Product Manager öffnet für eine halbe Stunde eine Testumgebung. Die Antwort im Repository statt auf der Seite zu suchen, spart nur diese halbe Stunde: Eine aus dem Code gezogene Antwort kann sich genauso irren wie eine veraltete Dokumentation, nur selbstsicherer. Was das Risiko wirklich verringert, ist nicht der Wechsel der Quelle, sondern die Auflagen, denen die Antwort unterliegt — jede Aussage an ein benennbares Element gebunden, die Funktion, die die Regel anwendet, den Test, der das Szenario abdeckt, den Merge Request, der das Verhalten eingeführt hat, den Zustand des Feature Flags; und jede nicht gesicherte Zone benannt, der fehlende Test, die unerreichbare Konfiguration genau dieses Kunden, die Produktentscheidung, der der Code zu widersprechen scheint. Ohne diese doppelte Auflage ersetzt man das lückenhafte Gedächtnis des Product Managers durch das wahrscheinlichkeitsbasierte Gedächtnis eines Modells, und das Risiko sinkt nicht: Es wechselt den Träger, von dem, der wusste, dass er nicht wusste, zu der Person im Support, die zu wissen glaubt.

Zusammenfassung

Die Überlegung geht von Kosten aus, die niemand zählt, und dieser Einstieg ist nicht nebensächlich: Er erklärt, warum man so lange mit der Lage gelebt hat. Jede Prüfung dauert eine halbe Stunde und erscheint in keinem Ticket, keiner Schätzung, keiner Zeile der Roadmap. Dazu kommt eine zweite, noch weniger sichtbare Kostenart, und sie lässt sich nicht mit denselben Mitteln senken: Die Unterbrechung zerstört den Arbeitszustand dessen, den sie trifft, und eine Antwort, die man in zwei Minuten statt in dreißig bekommt, lässt sie unangetastet.

Die Verlagerung hin zum Code wird als Antwort auf diese Kosten präsentiert, und sie ist eine — solange man sie nicht für eine Antwort auf das Problem der Verlässlichkeit hält, das ein anderes ist. Das Repository ist die einzige Darstellung, die nicht von dem abweicht, was das Produkt tut; aber es sagt nicht alles, was ein Dokument sagte. Die nützliche Trennung verläuft nicht zwischen dem Code und der Dokumentation, sondern zwischen dem, was beschreibt — neu generierbar —, und dem, was erklärt — aufzubewahren, weil kein Lesen des Repositorys es rekonstruiert. Und das Repository selbst genügt nicht, um zu entscheiden: Ein Feature Flag lässt darin zwei mögliche Verhaltensweisen offen, und die ausgerollte Konfiguration bestimmt, welche für einen Kunden gilt.

Hier werden die Auflagen für die Antwort zum eigentlichen Thema. Zwei spiegelbildliche Anforderungen, und keine ersetzt die andere: Das Belegen begrenzt das Behauptete, das Eingeständnis begrenzt das Nichtbehauptete. Die erste wirkt in dem Moment, in dem die Antwort entsteht, nicht wenn man sie gegenliest — das unterscheidet sie von einer Forderung nach Nachvollziehbarkeit, die einen Leser voraussetzt. Die zweite gibt dem einen Wert, was wie ein Scheitern aussieht: Zu melden, dass kein Test einen Fall abdeckt oder dass eine Produktentscheidung und der Code auseinandergehen, ist für sich eine Produktinformation.

Bleibt die Frage, wem das alles nützt, und sie wird über die Form gelöst statt über Vervielfältigung: Eine einzige, nach Blickwinkeln gegliederte Antwort — die kurze Antwort, die Nutzung, der Nutzen, die Grenzen, die Belege — erspart es, so viele Fassungen stimmig zu halten, wie es Fachbereiche gibt, und gibt den Belegen einen Platz, an dem sie existieren können, ohne denen im Weg zu stehen, die sie nie öffnen werden.

Schließlich rahmen zwei Bedingungen das Ganze ein, und sie hängen nicht vom System ab. Die erste betrifft das gelesene Material: Code, dessen Ausnahmen das Vokabular der Domäne tragen, lässt sich befragen; Code, in dem die Regeln hinter technischen Namen verstreut liegen, sperrt sich — gegen ein Modell wie gegen einen Entwickler. Die zweite betrifft die Sortierung vorab: Nicht jede Produktfrage ist eine Sache des Lesens. Fragen, die eine Abwägung verlangen, lassen sich an nichts delegieren, wie gut die Werkzeuge auch sind.

Was das Ganze sichtbar macht: Die Quelle der Wahrheit zu wechseln löst ein Zugangsproblem, kein Vertrauensproblem. Vertrauen gewinnt man nicht über die Herkunft der Antwort, sondern über das, was die Antwort sich zu zeigen verpflichtet — und dieselben Auflagen würden für eine Antwort gelten, die aus einem juristischen Korpus oder einer Sammlung von Protokollen stammt.

Spannungen / Widersprüche

Zwei Anforderungen dieser Notizen geraten an einer Schwelle aneinander, die nichts bestimmt. Eine Antwort soll benennen, was sie nicht weiß; eine Antwort, die jeden Satz mit einem Vorbehalt versieht, wird wieder unbrauchbar, und ihr Leser öffnet wieder selbst eine Testumgebung — die Kosten, die man beseitigen wollte, sind vollständig zurück. Der Gleichgewichtspunkt wird als notwendig beschrieben und nie verortet.

Zweite Spannung, darüber, was das System tatsächlich behebt. Es bekämpft die Suchzeit; die größten Kosten verursacht für eine Rolle, deren Arbeit aufeinander aufbaut, aber die Unterbrechung. Schneller zu antworten kann also eine Kennzahl verbessern, ohne etwas an dem zu ändern, was verloren geht, und der Artikel sagt nicht, wie die Frage aufhören würde einzutreffen.

Dritte Spannung, mit der Art, wie die Verlagerung hin zum Code anderswo erzählt wurde: Dort wird der Übergang der Autorität von der Spezifikation zum Repository damit erklärt, dass die Kosten des Zugangs eingebrochen sind. Hier ist der Zugang gegeben und erweist sich als unzureichend. Beides verträgt sich, aber die Rangfolge der Prioritäten kehrt sich um, je nachdem, welche Darstellung man zuerst liest.

Schließlich sperrt sich schon der Begriff Quelle der Wahrheit gegen diese Notizen: Das Repository ist maßgeblich für die Regeln, die ausgerollte Umgebung für das, was ein bestimmter Kunde sieht, und die Historie für die Absicht. Drei Quellen, jede souverän über eine Frage — was der Singular des Ausdrucks verschweigt.

Fragen

  • Was prüft in einer Organisation, ob die genannten Belege wirklich nachweisen, was die Antwort ihnen zuschreibt, und in welchem Rhythmus?
  • Wie nimmt ein Unternehmen, das seine Antworten nach ihrer Eindeutigkeit beurteilt, ein System auf, dessen Ergebnis zum Teil im Eingeständnis einer Lücke besteht?
  • Unter welchen Bedingungen wird aus einer gemeldeten Lücke — ein fehlender Test, eine Produktentscheidung, der der Code widerspricht — eine begonnene Arbeit statt eines weiteren Vermerks am Ende der Antworten?
  • Was wird aus diesen Auflagen, wenn das befragte Verhalten nicht mehr in einem lesbaren Repository steckt, sondern in einem trainierten Modell, in dem keine Funktion die Regel trägt?