Hier geht es darum, vorhanden Quellcode zu verbessern. Dies ist immer notwendig, wenn man im Design schlauer wird und das realexistierende nicht mehr für passend hält.
Wichtig ist, dass die Funktion und Bedeutung sich nicht ändern soll.
Manche Manager sind dafür nicht offen, da hier kein zusätzlicher Vorteil für die Nutzer entsteht.
Allerdings werden solche Manager merken, dass die Kosten für neue Funktionalitäten exponentiell ansteigen, weil ein Code nicht mehr verständlich ist. Dann müssen sie sich für eine Neuentwicklung entscheiden.
Oft wird auch die Technische Basis wie eine Programmiersprache gewechselt mit Ablaufsystem. Die Betriebssysteme werden auch weiterentwickelt. Oder die Systemarchitektur ändert sich vom Großrechner zu PCs, zu Internetapplikationen und zu Cloud Computing.