Data is why you can't ignore Legacy Systems ThinkingOutLoud.DonaldNoyes.20110920
LegacyCode and Programs written in Legacy Systems exist because they either do something that needs to be done, or have a manipulative access to data that remains important. The complaint that such systems ResistChange?, has validity for a number of reasons:
Instead of trying to re-organize and revise or convert the code, why not simply MigrateDataForward? Converting Data into a useable form is far easier than messing with the LegacyCode that manipulates it. Since you know the data is valuable and you know what you want to do with it, simply RewriteCodeFromScratch so that it will perform the way you want, in the language you want, on the system you want.
When finished doing so, you can replace the obsolete equipment and systems with smaller, modern, capable, operational systems which are suitable in the present environment.
Many in the database community have been arguing loudly in favour of this for years. Many in the application development community argue forcibly against it. It depends, I suppose, on whether you view applications as valuable or not. Often, they embed functionality that is painfully difficult or expensive to replace.