Wie ich arbeite · Software
Von der ersten Frage bis zum laufenden Betrieb.
Mein Prozess umfasst 8 Phasen. Wir beginnen damit, Ihr Problem oder Anliegen zu analysieren: Brauchen Sie, was Sie denken, oder gibt es eine elegantere Lösung? Wir arbeiten uns Schritt für Schritt vor, bauen Prototypen, wenn etwas unklar ist, messen, was uns hilft, Entscheidungen zu treffen, und bauen am Ende das, was wirklich Wert generiert und benutzt werden kann. Wenn es Zeit ist, sich anzupassen und weiterzuentwickeln, finden wir einen sinnvollen Übergang, ohne das Tagesgeschäft an die Wand zu fahren.
1Anforderungsanalyse2–5 Tage
Zwei oder drei Sitzungen, in denen wir Ihre Anfrage in Abnahmekriterien übersetzen, die wir beide unterschreiben. Die meiste Arbeit steckt darin, die Rahmenbedingungen zu finden, an die keiner gedacht hat: die Tabelle, die weiter funktionieren muss, die Fremd-API mit Rate-Limit, die Kollegin, die das System im Betrieb verwendet.
Wenn ausgelassen bekommen Sie die Umsetzung einer halbherzig zusammengeworfenen Wunschliste und merken erst danach, dass etwas anderes gebraucht wurde.
2Prototyp1–2 Wochen
Eine grobe Version, die Sie durchklicken und auf echten Daten laufen lassen können, innerhalb von zwei Wochen. Sie ist absichtlich minimalistisch und lückenhaft. Ihre Aufgabe ist es, aus „ich hatte mir das anders vorgestellt“ einen konkreten Satz zu machen, solange Ändern noch billig ist.
Wenn ausgelassen findet das erste realistische Gespräch über den nötigen Umfang statt, wenn das Budget schon weg ist.
3MVP2–6 Wochen
Die erste Version, in der jemand seine tatsächliche Arbeit erledigen kann. Der Weg, den die meisten Nutzer nehmen, funktioniert vollständig: die Daten, die Rechte, die Fehlermeldungen, der Bildschirm, vor dem den ganzen Tag gesessen wird. Was nur zweimal im Jahr benutzt wird, bleibt draußen, bis es gebraucht wird.
Wenn ausgelassen warten die Nutzer solange auf das wichtigste Feature, bis jedes nice-to-have umgesetzt wurde.
4System-Härtung (Betriebsbereitschaft)1–3 Wochen
In diesem Schritt konzentrieren wir uns auf Fehlertoleranz, Selbstheilung und Skalierbarkeit. Timeouts, Wiederholungen, Teilausfälle und die Zustände, von denen Sie gehofft hatten, sie treten nicht ein: die Verbindung, die mitten im Schreiben abreißt, der Job, der zweimal läuft, der Fremddienst, der mit den Daten von gestern antwortet … oder gar nicht mehr. Wenn das System die meisten Fehler selbst abfängt und behebt, schläft es sich nachts ruhiger.
Wenn ausgelassen sind Kunden, Support, Abteilungsleiter und Systemadministrator allesamt froh, wenn das Kernsystem um 3:00 Uhr nachts Sachen tut, die sie für den Rest der Woche beschäftigen.
5Observability & Telemetrie3–5 Tage
Logs, Metriken und Traces schaffen Transparenz, Vertrauen und Nachvollziehbarkeit. Wenn man Fragen wie „Was hat es um 14:32 getan und warum?“ ohne Raten beantworten will, muss das System Spuren hinterlassen. Während der Entwicklung ist es schnell eingebaut; in einem laufenden System, das nur still seine Kernlogik abarbeitet, lässt sich das Verhalten jedoch kaum noch rekonstruieren.
Wenn ausgelassen basiert jede Weiterentwicklung auf Vermutungen anstatt auf konkreten Daten.
6Laufender Betrieb & messbare Verbesserunglaufend
Sechs Wochen echter Betrieb sagen mehr als jede Planungsrunde: welche Pfade heiß sind, welche Abfragen wehtun und was niemand anfasst. Ausgebaut wird, was benutzt wird, samt der zwei oder drei Varianten, deren Vergleich sich lohnt. Optimiert wird dort, wo die Last tatsächlich liegt. Meistens fällt ein Drittel der ursprünglichen nice-to-haves weg, und zwei Dinge, nach denen niemand gefragt hat, stellen sich als wichtig heraus.
Wenn ausgelassen unerlässlich. Jedes Feature macht das System messbar besser.
7Wartunglaufend
Ein paar feste Stunden im Monat: Abhängigkeits- und Sicherheitsupdates, Änderungen an Fremd-APIs, abgelaufene Zertifikate und die kleinen Reparaturen, die nicht klein bleiben, wenn man sie liegen lässt.
Wenn ausgelassen kommt die Wartung als Notfall genau dann, wenn sie keiner braucht, und wird entsprechend abgerechnet.
8Ablösungwenn es soweit ist
Das System wird zwar immer weiterentwickelt, aber irgendwann sind technische Grenzen erreicht, der letzte Entwickler, der es noch warten kann, orientiert sich um, oder die Regierung erzwingt die Nutzung eines regulierteren Systems. Entweder man verabschiedet sich mit einem großen Knall, oder man ersetzt das System kontrolliert Stück für Stück, mit Adaptern, Brückenlösungen und chirurgischen Eingriffen ... ohne das Tagesgeschäft zu gefährden. Bei einer Neuentwicklung, lassen sich kritische Module übersetzen, anpassen oder wiederverwenden. Was das alte System über Jahre gelernt hat (Sonderfälle, Nutzerverhalten, Kernmetriken) ist der Startpunkt für das nächste.
Wenn ausgelassen stagniert das System, hält nicht mit sich ändernden Anforderungen mit oder wird unwartbar.