Es gibt eine Version dieses Studios, die ein Repository ausliefert, Rechnung stellt und weiterzieht. Das ist ein völlig ehrliches Geschäft. Es ist auch ein Geschäft, das nie erfährt, welche seiner Entscheidungen falsch waren, weil die Rechnung dafür an eine andere Adresse geht.
Die Rückkopplung schliesst sich erst in der Produktion#
Ein Code-Review sagt Ihnen, ob etwas vertretbar ist. Drei Monate Betrieb sagen Ihnen, ob es richtig war. Aus dem Abstand zwischen diesen beiden stammt das meiste von dem, was wir heute wissen.
- Retries, die Bugs verstecken
Ein Retry um einen wackligen Aufruf sieht im Review verantwortungsvoll aus. Um drei Uhr nachts ist er der Grund, warum sich ein kaputtes Payload still verdreifacht, statt einmal laut zu scheitern.
- Logs, mit denen niemand etwas anfangen kann
«Failed to process request» kommt durchs Review. Im Pikett ist es wertlos. Wir prüfen Log-Zeilen jetzt mit der Frage, was die Leserin als Nächstes tun soll.
- Migrationen mit einem Menschen drin
Eine zweistufige Migration ist in Ordnung, solange jemand zusieht. Wenn sie unbeaufsichtigt nicht durchläuft, ist sie keine Migration. Sie ist ein Wartungsfenster mit besserem Namen.
Was es heisst, den Pager zu haben#
- Eine Nummer, eine Person. Ein Turnus mit zwei Leuten und einer dokumentierten Eskalation. Kein geteiltes Postfach, das so tut, als wäre es Pikett.
- Ein Runbook pro Alarm. Ein Alarm ohne Runbook bekommt eines oder wird gelöscht. Eine dritte Möglichkeit gibt es nicht, denn ein Alarm, auf den niemand zu antworten weiss, erzieht die Leute dazu, Alarme zu ignorieren.
- Eine monatliche Durchsicht. Alles, was ausgelöst hat, und was sich dadurch geändert hat. Hat ein Alarm dreimal ausgelöst und nichts geändert, war er Rauschen in Uniform.
Was es ehrlich kostet#
Es ist nicht gratis, und wir tun auch nicht so. Betrieb zu tragen heisst: eine langsamere Projekttaktung, ein Turnus, der Ferien überleben muss, und Aufträge, die wir ablehnen, weil sonst niemand mehr ans Telefon ginge. Kleine Studios lassen es genau aus diesen Gründen meistens sein.
Zurück bekommen wir eine kürzere Diskussion. Wenn eine Kundin fragt, warum ein Stück Arbeit kostet, was es kostet, ist die Antwort keine Theorie über Wartbarkeit. Es ist eine Liste dessen, was uns beim letzten System, das sich diese Arbeit gespart hat, aus dem Bett geholt hat.