In drei bis zehn Tagen entsteht ein ehrliches Bild Ihrer Landschaft: Codequalität, Architektur, tatsächliche Last, Infrastruktur und Betriebskosten. Dazu ein Zielbild, das zur heutigen Last und Organisation passt, mit priorisierten Handlungsoptionen, Aufwänden und erwartetem Einsparungspotenzial. Kein Gutachten für die Schublade, sondern eine Entscheidungsgrundlage für Entwicklung und Management.
Fachlich zusammengehörende Services wandern schrittweise in einen Modulithen: aus REST-Aufrufen werden Methodenaufrufe, aus zwei Datenbanken mit Synchronisation wird eine Transaktion, aus verteilten Fehlerbildern werden lokale Stack-Traces. Parallel dazu die Infrastruktur-Inventur: Jeder Message Broker, Cache und jedes Service Mesh muss seinen Nutzen heute noch belegen. Die fachliche Trennung bleibt als Modulgrenze erhalten.
Vor dem Umbau steht das Sicherheitsnetz. Charakterisierungstests halten fest, wie sich das System heute tatsächlich verhält, Integrationstests sichern die Systemgrenzen ab, Testcontainer liefern schnelle Feedback-Zyklen. Abgesichert wird dort, wo als Nächstes geändert wird, nicht flächendeckend als Selbstzweck.
In gewachsenen Systemen bleiben Engpässe oft unsichtbar, weil Monitoring und Tests fehlen. Ich analysiere Performance-Probleme von den Klassikern rund um Hibernate, Datenbanken und Speicher bis zu Sonderfällen wie fehlgeleiteter Authentisierung oder zu klein skalierten HSMs. Lasttests mit Gatling, JMeter oder k6 entstehen so, dass sie dauerhaft in der Pipeline nutzbar bleiben.
Ein bis vier Tage im Monat als Sparringspartner für Entscheider: Zweitmeinung zu Architektur- und Investitionsentscheidungen, Reviews zentraler Designs, Vorbereitung von Lenkungsausschüssen und Übersetzung zwischen Entwicklung und Management. Verlässlich erreichbar, ohne permanent im Projekt zu sitzen.
Wissenstransfer entsteht am gemeinsamen Code, nicht im Foliensatz: Pairing, Code Reviews, Architektur-Workshops und Arbeit an der konkreten Codebasis. Dazu gehört auch, Agentic Coding sinnvoll einzusetzen, etwa für Charakterisierungstests und die Vereinheitlichung gewachsener Strukturen. Ziel ist ein Team, das den Weg eigenständig fortsetzt.