Definition
“Legacy” bedeutet zunächst nur, dass ein System aus einer früheren Zeit stammt und noch läuft. Zum Problem wird das erst, wenn niemand mehr genau versteht, wie die Teile zusammenhängen, und deshalb jede Änderung zum Risiko wird. Ein zehn Jahre altes System, das gut dokumentiert und gepflegt ist, ist kein Legacy-System in diesem Sinn. Ein zwei Jahre altes System, das schon jetzt niemand mehr sicher anfassen will, dagegen schon.
Warum Systeme so werden
Legacy-Systeme entstehen selten durch eine einzelne Entscheidung, sondern durch viele kleine über Jahre: Abkürzungen, die nie nachgebaut wurden, Personalwechsel, bei denen Wissen verloren ging, oder Anforderungen, die sich so oft geändert haben, dass die ursprüngliche Struktur des Systems nicht mehr zu dem passt, was es heute leisten muss. Das Ergebnis ist ein System, das läuft, sich aber nicht mehr bewegen lässt, jede Änderung dauert länger als sie sollte, und jedes Release ist mit mehr Vorsicht verbunden als nötig.
Was jetzt zu tun ist
Ein Legacy-System muss nicht komplett neu gebaut werden, das ist sogar meistens der falsche erste Impuls. Sinnvoller ist zunächst zu verstehen, was das System heute tatsächlich leistet, auch die Teile, die nirgendwo dokumentiert sind, und dann zu entscheiden, welche Teile übernommen und welche schrittweise abgelöst werden können, statt in einem einzigen riskanten Umschalttermin. Genau diese Einschätzung liefert ein Architektur-Review, bevor die eigentliche Modernisierung beginnt.