Bestandssoftware risikoarm und effizient modernisieren
Ihre Software läuft seit Jahrzehnten, das Wissen steckt im Code. Wir machen es für Menschen und KI zugänglich. Damit Sie Ihr System sicher verstehen, pflegen und weiterentwickeln.
Verstehen und pflegenAbsichern und weiterentwickelnWenn Bestandssoftware zum Risiko wird
- Wissen hängt an wenigen Köpfen. Die Fachlogik steckt im Code, die Dokumentation ist veraltet. Über die Jahre sind Versionen und Varianten entstanden, deren Unterschiede kaum noch jemand vollständig kennt.
- Jede Änderung ist ein Risiko. Ohne automatisierte Tests weiß niemand sicher, was eine Änderung auslöst. Releases werden selten und teuer.
- Die Pflege wird teurer, Neues kommt nicht voran. Ein Großteil des Budgets fließt in den Erhalt, für neue Anforderungen bleibt wenig.
- Technik und Sicherheit veralten. Plattformen und Frameworks laufen aus, Lücken lassen sich schwer schließen, und Vorgaben wie der Cyber Resilience Act erhöhen den Druck.
- Der Technologiewechsel ist überfällig, wirkt aber zu riskant. Der Schritt auf einen modernen Stack, etwa von C++ auf eine speichersichere Sprache wie Rust, wäre richtig. Doch der laufende Betrieb darf nicht stehen, und im regulierten Umfeld zieht jede Änderung Nachweise nach sich.
Zwei Fragen, zwei Wege
Manche Kunden wollen ihr System verstehen: Was hängt woran, wo kommt ein Fehler her, was passiert bei einer Änderung? Andere wollen es weiterentwickeln: neues Framework, neue Plattform, und am Ende muss alles genauso funktionieren wie vorher. Für beides bauen wir zuerst ein LLM-Wiki der Software auf. Danach trennen sich die Wege.
Verstehen und pflegen
Fragen in natürlicher Sprache, belegte Antworten aus dem Code. Für große, gewachsene Systeme, deren Zusammenhänge niemand mehr ganz überblickt.
Das kennen Sie?
- „Nur noch zwei Kollegen verstehen, wie das System wirklich funktioniert.“
- „Bei einer Störung suchen wir tagelang, wo der Fehler herkommt.“
- „Wir wissen nicht, was alles an dieser Stelle hängt.“
- „Die Dokumentation stimmt seit Jahren nicht mehr.“
Ansatz: Wissensgraph, Agenten, Prüfschritt mit Evidenzstufen.
Zu Weg A ↓Absichern und weiterentwickeln
Erst das heutige Verhalten mit automatisierten Tests festhalten, dann ändern. Für Software, die portiert oder modernisiert werden soll und danach dasselbe Ergebnis liefern muss.
Das kennen Sie?
- „Wir müssten von C++ auf Rust, aber Risiko und Kosten sind uns zu hoch.“
- „Unser Framework bekommt keine Updates mehr, aber wir trauen uns nicht an die Migration.“
- „Jede kleine Änderung dauert Wochen, weil wir alles von Hand testen.“
- „Wir pflegen mehrere Varianten und wissen nicht genau, worin sie sich unterscheiden.“
- „Neu entwickeln ist zu teuer, aber so weitermachen geht auch nicht.“
Ansatz: Funktionskatalog, Blackbox-Testbench, Referenzlauf.
Zu Weg B ↓Verstehen und pflegen: belegte Antworten aus dem Code
Systemerklärung
Was macht dieser Job, welche Programme startet er, welche Tabellen liest und schreibt er?
Störungsanalyse
Wo kann ein Fehler herkommen? Schneller zur Ursache, auch ohne den einen Experten.
Auswirkungsanalyse
Was hängt alles daran, wenn wir diese Stelle ändern?
Änderungsvorschlag
Konkrete Änderung mit Begründung und den betroffenen Stellen.
Parser übersetzen den Code in einen Wissensgraphen, die Dokumentation landet im Vektorindex. Ein Agent je Fragetyp antwortet mit Beleg. Ein Prüfschritt ohne Sprachmodell kontrolliert jeden Beleg und vergibt eine Evidenzstufe von bestätigt bis unbelegt. Zugriff über MCP, direkt aus den Werkzeugen Ihrer Entwickler.
Ein Kernsystem, das niemand mehr ganz versteht
Ausgangslage: Umsatzkritisches Kernsystem auf dem Host, seit Jahrzehnten gewachsen. Batch-Jobs starten Programme, Programme lesen und schreiben Datenbanktabellen. Das Wissen steckt in wenigen Köpfen. Das System soll modernisiert werden, Raten ist keine Option.
Ansatz und Nutzen: Wissensgraph aus Code und Doku, Fragen in natürlicher Sprache, Antworten mit geprüftem Beleg bis auf Datei und Zeile. Auswirkungen einer Änderung sind sichtbar, bevor sie passiert. Das Wissen hängt nicht mehr an einzelnen Personen.
Absichern und weiterentwickeln: gleiches Ergebnis nach der Änderung
KI kann Code gut umbauen. Sicher arbeitet sie aber nur, wenn sie nach jedem Schritt prüfen kann, ob sich das Verhalten geändert hat. Deshalb sichern wir zuerst ab und ändern dann.
Verstehen
Funktionskatalog und LLM-Wiki aus dem Code, ergänzt um das Wissen Ihrer Leute.
Absichern
Automatisierte Blackbox-Testbench über die Schnittstellen, Nachbarsysteme simuliert. Normal-, Grenz- und Fehlerfälle je Funktion.
Referenzlauf
Die Tests laufen gegen den heutigen Stand. Das ist der Maßstab.
Weiterentwickeln
Ihr Team arbeitet jetzt mit KI an der Software: hochrüsten, neue Funktionen umsetzen, effizient pflegen. Nach jeder Änderung zeigt die Testbench, ob das bestehende Verhalten erhalten bleibt.

Erst das Wissen zusammentragen, dann testen
Schriftliche Anforderungen gibt es bei gewachsener Software meist nicht. Wir tragen sie aus dem Code, den Kommentaren und dem Wissen Ihrer Entwickler in einem LLM-Wiki zusammen. Daraus entstehen Funktionskatalog und Testfälle, die ein Entwickler prüft und verantwortet.
Onboard-UI-Anwendung auf ein neues Framework bringen, ohne dass sich etwas ändert
Ausgangslage: Onboard-UI-Anwendung, rund 20 Jahre alt, auf einem veralteten UI-Framework. Keine schriftlichen Anforderungen, nur Quellcode-Kommentare. Getestet wird manuell im Labor gegen eine simulierte Anlage.
Ansatz und Nutzen: Erst Funktionskatalog, LLM-Wiki und automatisierte Testbench mit Referenzlauf. Danach Portierung auf das aktuelle Framework mit Nachweis, dass jede Funktion gleich arbeitet. Später lassen sich Anforderungen mit Rückverfolgbarkeit nachziehen.
Häufige Fragen
Wie lässt sich Legacy-Code mit KI modernisieren?
Erst absichern, dann ändern. KI liest den Bestandscode und erschließt das Wissen darin, eine automatisierte Testbench hält das heutige Verhalten fest. Danach lässt sich die Software sicher migrieren, weiterentwickeln oder ablösen.
Geht das auch ohne Dokumentation und Anforderungen?
Ja, das ist bei Legacy-Code der Normalfall. Wir tragen das Wissen aus Code, Kommentaren und den Köpfen Ihrer Entwickler in einem LLM-Wiki zusammen und leiten daraus Funktionskatalog und Testfälle ab.
Kann KI die Dokumentation von Bestandssoftware erstellen?
Ja. Aus Code, Kommentaren und dem Wissen Ihrer Entwickler entsteht eine Dokumentation, die Menschen und KI nutzen können. Sie bleibt aktuell, weil sie bei jeder Änderung automatisch nachgezogen wird.
Wie gelingt eine Software-Migration ohne Risiko für den laufenden Betrieb?
Mit einem Referenzlauf auf dem heutigen Stand. Nach jedem Migrationsschritt zeigt die Testbench, ob das bestehende Verhalten erhalten bleibt. So gibt es keinen Big Bang, sondern viele kleine, prüfbare Schritte.
Können Sie Code von C++ nach Rust migrieren?
Ein Wechsel auf eine speichersichere Sprache wie Rust ist ein typischer Fall. Entscheidend ist die Absicherung vorher, damit das Verhalten gleich bleibt. Welche Technologien Ihre Codebasis betrifft, klären wir im Erstgespräch.
Was kostet eine Software-Modernisierung?
Das hängt vom Umfang des Codes ab. Für den Einstieg vereinbaren wir ein abgegrenztes Paket mit fester Laufzeit und festem Preis, danach wissen Sie, was der weitere Weg kostet.
Funktioniert das auch bei Software mit Zulassungspflicht?
Ja. Funktionskatalog, Testbench und Referenzlauf schaffen die Grundlage, um Anforderungen mit Rückverfolgbarkeit nach V-Modell nachzuziehen.