Legacy & Individualsoftware
KI für Legacy- und Individualsoftware.
Bei gewachsenen Systemen lautet der Einwand meist: „Dafür ist unsere Software zu alt und zu schlecht dokumentiert.“ In der Praxis ist genau das der Grund, warum der naive Weg dort scheitert – und der semantische funktioniert.
Der eigentliche Befund
Das Problem ist nicht das Alter. Es ist das verlorene Wissen.
Ein zwanzig Jahre altes System, das den Betrieb trägt, ist kein Ärgernis – es ist eine bewiesene Lösung. Schwierig wird es, wenn niemand mehr vollständig sagen kann, warum es sich so verhält, wie es sich verhält.
Dann existiert das Fachwissen weiter, aber nur noch an zwei Orten: im Sourcecode und in den Köpfen einiger Kollegen. Beide Quellen sind schlecht abfragbar – die eine, weil sie nicht als Fachwissen geschrieben ist, die andere, weil sie irgendwann in Rente geht.
Die Dokumentation beschreibt, was gedacht war. Der Sourcecode beschreibt, was passiert.
Typische Lage
Woran Auswertungen in gewachsenen Systemen scheitern.
Diese Punkte tauchen bei gewachsener Individualsoftware fast immer gemeinsam auf.
Die Dokumentation ist älter als das Verhalten
Sie beschreibt einen Stand, der seit mehreren Releases nicht mehr gilt. Wer sich darauf verlässt, baut Auswertungen auf Annahmen, die niemand mehr prüft.
Mehrere Generationen von Konventionen in einer Datenbank
Tabellen aus drei Epochen, drei Namensschemata, zwei Arten der Statusabbildung und eine Spalte, die seit 2014 nicht mehr gepflegt wird. Aus dem Schema allein ist nicht erkennbar, was noch gilt.
Regeln, die es nur im Code gibt
Ob ein Auftrag als abgeschlossen zählt, wie ein Storno verrechnet wird, wann ein Kunde als aktiv gilt: berechnet, nicht gespeichert. Diese Definitionen sind der Kern jeder Auswertung – und stehen in keiner Tabelle.
Wissen an einzelnen Personen
Es gibt meist eine Handvoll Menschen, die zu jeder Merkwürdigkeit die Geschichte kennen. Genau deshalb dauert jede neue Auswertung ein Gespräch – und genau deshalb ist der Weggang dieser Personen ein Risiko.
Keine Fremdschlüssel als Wegweiser
Beziehungen sind in der Anwendungslogik abgebildet statt als Constraint. Ein System, das nur das Schema liest, sieht Tabellen ohne Zusammenhang.
Der Ansatz
Der Sourcecode wird zur Quelle, nicht zum Hindernis.
Analysiert werden beide Quellen: das Datenmodell für Strukturen und Beziehungen, der Sourcecode für Bedeutungen, Berechnungen und Geschäftsregeln. Daraus entsteht ein fachliches Modell, das beschreibt, was Ihre Daten bedeuten – in Begriffen, die in Ihrem Haus verwendet werden.
Von Hand wäre das ein Projekt über Wochen: Jede Tabelle, jede Beziehung, jede Regel müsste einzeln gelesen, verstanden und beschrieben werden. Genau daran scheitern solche Vorhaben üblicherweise, bevor sie etwas zeigen. Deshalb wird die Erschließung KI-gestützt gemacht.
Ergebnis: In wenigen Stunden steht eine breite fachliche Basis – als Vorschlag, nicht als Wahrheit.
Was KI aus Sourcecode erschließt, kann unvollständig oder fachlich falsch benannt sein. Deshalb ist der zweite Schritt die Validierung: Ihre Fachanwender stellen echte Fragen, die Antworten werden gemeinsam geprüft, falsch benannte Regeln werden korrigiert. Was einmal korrigiert ist, gilt für jede gleichartige Frage danach.
Nebeneffekt
Am Ende steht die Dokumentation, die Ihnen bisher gefehlt hat.
Das semantische Modell ist nichts anderes als eine explizite, lesbare Beschreibung Ihrer Fachlogik: welche Begriffe es gibt, wie sie definiert sind, welche Regeln gelten, wo sie im System verankert sind. Es entsteht, weil eine KI diese Beschreibung braucht – aber es ist für Menschen genauso lesbar.
Damit löst sich ein Nebenproblem gewachsener Systeme mit: Das Wissen, das bisher an Personen hing, liegt danach als geprüfte Definition vor. Nicht als Wiki-Seite, die veraltet, sondern als das Modell, gegen das jede Abfrage tatsächlich läuft.
Eine Beschreibung, die im Betrieb benutzt wird, veraltet nicht unbemerkt – sie fällt auf, sobald eine Antwort falsch ist.
Und weil jede Antwort ihr Regelset mitführt, ist die Definition dort sichtbar, wo sie wirkt. Wer eine Zahl anzweifelt, sieht die Regel dahinter – und korrigiert im Zweifel die Regel statt der Zahl.
Grenzen
Wenn Quellen fehlen oder unvollständig sind.
Hier steht bewusst, was der Ansatz braucht – und was passiert, wenn es nicht vorliegt.
- Kein Sourcecode-Zugriff
- Dann fehlt die Quelle für alle berechneten Begriffe. Ein Modell lässt sich dann nur aus Struktur und Gesprächen bilden – deutlich aufwendiger und lückenhafter. Ob das im Einzelfall reicht, gehört in die technische Sichtung.
- Teilweise verfügbarer Sourcecode
- Der übliche Fall bei gewachsenen Landschaften und meist tragfähig: Was erschlossen werden kann, wird erschlossen; für den Rest benennt das System die Lücke, statt sie zu überdecken.
- Keine eigene Datenbank
- Ohne lesenden Zugang zu einer relationalen Datenbank greift der Ansatz nicht. Umgesetzt und im Einsatz sind derzeit PostgreSQL und MySQL.
- Wissen nur in Dokumenten
- Die Anbindung von Dokumenten ist in Arbeit und heute nicht Teil des Leistungsstands. Wo die entscheidende Regel ausschließlich in einer Textdatei steht, muss sie vorerst von Hand ins Modell.
Wenn es nicht um KI geht
Manchmal ist die Antwort Architekturarbeit, nicht ein Produkt.
Wenn ein System instabil läuft, Releases riskant sind oder niemand mehr Verantwortung für die Struktur trägt, ist eine KI-Auswertung nicht das erste Problem. Dann geht es um Bestandsaufnahme, Risiko-Minimierung und eine tragfähige Zielarchitektur.
Genau daraus ist dieses Produkt entstanden: aus Architekturarbeit an gewachsenen Systemen. Beides ist einzeln zu haben – und es ist ehrlicher, das zu sagen, als jedes Legacy-Thema zu einem KI-Thema zu erklären.
Häufige Fragen
Fehlt Ihnen eine Frage? Ausführliche Antworten zu Betrieb und Datenzugriff stehen auf der Sicherheitsseite.
- Ist unser System zu alt für so etwas?
Für den Ansatz zählt nicht das Alter, sondern der Zugang: eine relationale Datenbank, auf die ein lesender Benutzer eingerichtet werden kann, und lesender Zugriff auf den Sourcecode.
Gewachsene Systeme sind sogar der typische Fall. Bei einer sauber dokumentierten Neuentwicklung ist der Abstand zwischen Schema und Fachsprache klein – bei einem gewachsenen System ist er groß, und genau diesen Abstand überbrückt das semantische Modell.
- Verlässt unser Sourcecode für die Analyse das Haus?
Ja, in Ausschnitten. Die Erschließung ist KI-gestützt: Code- und Strukturausschnitte werden an ein Sprachmodell übermittelt, das heute bei einem externen Anbieter läuft. Produktivdaten aus Ihrer Datenbank sind dafür nicht erforderlich.
Welcher Anbieter, welche Vertragslage und welche Repositorys einbezogen werden – und welche ausdrücklich nicht –, wird schriftlich festgelegt, bevor gelesen wird. Ist eine Übermittlung von Code an einen externen Anbieter für Sie ausgeschlossen, ist das beim heutigen Stand ein Ausschlusskriterium und gehört ins erste Gespräch.
- Spielt die Programmiersprache unserer Software eine Rolle?
Für die Analyse ist entscheidend, dass sich Datenzugriffe und Berechnungen im Code nachvollziehen lassen. Das ist über verschiedene Sprachen und Generationen hinweg der Fall.
Wie gut das bei Ihrem Bestand funktioniert, zeigt die technische Sichtung. Eine Liste unterstützter Sprachen wäre an dieser Stelle eine Scheingenauigkeit – die Streuung innerhalb eines gewachsenen Systems ist größer als die zwischen zwei Sprachen.
- Unsere ursprünglichen Entwickler sind nicht mehr im Haus. Reicht das?
In der Regel ja, solange der Sourcecode vorliegt: Er ist die verlässlichere Quelle, weil er beschreibt, was das System tatsächlich tut – nicht, was jemand erinnert.
Für die Validierung werden trotzdem Fachanwender gebraucht. Nicht um den Code zu erklären, sondern um zu beurteilen, ob eine Definition fachlich richtig ist. Diese Beurteilung kann niemand von außen übernehmen.
- Sollten wir nicht zuerst modernisieren?
Nicht wegen dieses Ansatzes. Er greift lesend und lässt Ihre Systeme unverändert – eine Modernisierung ist dafür keine Voraussetzung.
Wenn der Betrieb selbst wackelt, ist das eine andere Frage: Dann geht es um Stabilisierung und Architektur, und die sollte Vorrang haben. Beides lässt sich trennen, und es kann sinnvoll sein, es zu trennen.
Verwandte Themen
Angrenzende Fragen, jeweils auf einer eigenen Seite beantwortet.
KI in bestehende Software integrieren
Was in Ihrer Systemlandschaft angepasst werden muss – und was ausdrücklich unverändert bleibt.
Semantische Schicht
Was in der Schicht beschrieben ist, wie sie entsteht und warum ein Prompt sie nicht ersetzt.
PostgreSQL & MySQL mit KI abfragen
Wie der lesende Datenbankzugang aussieht und was mit gewachsenen Schemata passiert.
Bei gewachsenen Systemen ist eine ehrliche Einschätzung mehr wert als ein Angebot. Beides beginnt mit einem Blick auf Datenmodell und Sourcecode.