Risikoklassen am Pull Request
Aus den berührten Pfaden, nicht aus der Beschreibung. Falsche Klassen sind sichtbar und werden korrigiert; die Mehrheit des Volumens verlässt die Warteschlange.
Risikoklassen am Pull Request, Eigenschaften
statt Stichproben, Herkunft jeder Änderung.
Die meisten Änderungen können keinen echten Schaden anrichten. Wenige können es. Sortieren ist billig; alles gleich zu behandeln kostet die Reviewer, die Sie nicht haben. So sieht der Moment aus, in dem eine Änderung ankommt.
Die Klasse kommt aus den berührten Pfaden, nicht aus der Selbstauskunft des Autors. Unklassifiziert wird nicht gemergt.
Aus den berührten Pfaden, nicht aus der Beschreibung. Falsche Klassen sind sichtbar und werden korrigiert; die Mehrheit des Volumens verlässt die Warteschlange.
Property-Tests sagen, was immer gelten muss. Generierter Code wird gegen die Regel geprüft, nicht gegen drei Fälle, die jemandem eingefallen sind.
Geschrieben, assistiert oder generiert steht im Protokoll. Nicht zur Kontrolle, sondern damit Sie in sechs Monaten einem Auditor antworten können.
Manches fängt kein Gate. Progressive Auslieferung plus Alarm auf den Eigenschaften macht daraus einen Fünf-Minuten-Rollback statt eines Montags-Vorfalls.
Die Antwort ist keine Person, sondern eine Ordnung: ein kleiner Teil der Änderungen braucht einen benannten Menschen vor dem Merge, der große Rest Gates, die niemand überstimmen kann. Diese sechs Punkte entscheiden darüber.
Gibt es eine gepflegte Karte, die Pfade auf Risikoklassen abbildet? Wir prüfen, ob die Klasse aus den berührten Dateien entsteht oder aus dem Pull-Request-Text, und was unklassifiziert passiert.
Wer muss zustimmen, bevor eine Änderung der höchsten Klasse gemergt wird? Wir sehen uns an, auf welchen Wegen diese Pflicht umgangen werden kann.
Beispieltests prüfen, was jemandem eingefallen ist. Eigenschaftstests prüfen die Regel: Idempotenz, Erhaltung von Summen, Rundungsverhalten. Wir stellen fest, wo sie fehlen.
Generierter Code bringt Bibliotheken mit, die niemand ausgesucht hat. Wir prüfen, ob neue Abhängigkeiten einen Freigabeweg haben und ob eine Stückliste der Auslieferung entsteht.
Assistenten schreiben Zugangsdaten in Beispiele, und Beispiele landen im Repository. Wir prüfen die Gates gegen Geheimnisse im Code und welche Firmendaten den Assistenten erreichen.
Steht an jeder Änderung, ob sie geschrieben, assistiert oder generiert wurde? Und wenn ein Gate etwas durchlässt: wie schnell lässt sich das zurücknehmen, und wer darf es?
Die Review läuft neben der Entwicklung, an Ihren echten Pull Requests der letzten Wochen. Die Dauerangaben beschreiben unseren Aufwand; Ihr Team ist im Erstgespräch und im Abschluss gebunden.
Sie sprechen mit einem Solution Architect, nicht mit dem Vertrieb. Wir klären, wie Ihr Weg von der Änderung zur Produktion heute aussieht und ob eine Review der richtige Schritt ist.
Wir lesen Repository-Struktur, Pipeline-Konfiguration, Branch- und Freigaberegeln sowie die Pull Requests eines zusammenhängenden Zeitraums. Daraus entsteht die erste Risikokarte.
Wir ziehen Änderungen aus allen Klassen und gehen sie durch: Was hätte ein Gate fangen müssen, was hat es gefangen, was lief durch. Jeder Befund hängt an einer Pull-Request-Nummer.
Mit Ihren Leads: die Lückenliste, sortiert nach möglichem Schaden und Aufwand, dazu die eine Gate-Änderung, die sich in derselben Woche umsetzen lässt. Was danach gebaut wird, entscheiden Sie.
Der Engpass meldet sich selten als Ausfall, sondern als Gewohnheit, über die niemand mehr spricht. Wenn Sie drei dieser Sätze kennen, liegt die Grenze in der Prüfung.
Damit Sie den Aufwand einordnen, bevor Sie ihn intern verteidigen: Diese vier Dinge sind nicht Teil der Review.
Wir prüfen, ob Ihre Gates greifen, nicht ob Ihr Produkt einer Norm entspricht. Ein Testat oder eine Penetrationsprüfung ist ein zweites, eigenes Mandat.
Ein Gate fängt, was als Eigenschaft formuliert wurde. Deshalb steht die progressive Auslieferung mit Alarm als letzte Instanz im Modell.
Das Herkunftsprotokoll dient der Nachweisführung gegenüber Dritten. Wer es zur Leistungsmessung umwidmet, bekommt schlechtere Daten.
Zu Review-Durchsatz und Fehlerrate liegen uns keine eigenen gemessenen Werte vor, deshalb steht hier keine Prozentzahl, sondern ein Befund an Ihren eigenen Änderungen.
Bei der höchsten Risikoklasse ein benannter Mensch, vor dem Merge, ohne Umgehungsweg. Bei allem anderen prüfen Gates in der Pipeline. Entscheidend ist, dass die Klasse aus den berührten Pfaden entsteht, nicht aus der Beschreibung des Autors.
In aller Regel nicht. Risikoklassen, Pflicht-Reviews und Gates lassen sich in GitHub, GitLab und Azure DevOps mit vorhandenen Mitteln abbilden. Die Arbeit steckt in der Risikokarte, nicht im Einkauf.
Der umgekehrte Fall ist wahrscheinlicher. Heute laufen alle Änderungen durch dieselbe Warteschlange, auch die ungefährlichen. Sortieren nimmt den größten Teil heraus und legt die Aufmerksamkeit der Reviewer dorthin, wo sie gebraucht wird.
Über ein Protokoll an der Änderung: Herkunft, Modell, Prompt-Hash, zugewiesene Risikoklasse und die gelaufenen Gates. Der Nachweis muss im Moment der Änderung entstehen; nachträglich gesammelte Screenshots belegen die Zuordnung nicht.
Für Teams, die Assistenten noch nicht im Alltag einsetzen: dort gibt es nichts zu sortieren. Und für Organisationen, die vor allem ein Dokument mit Stempel brauchen.