google search for define: legacy gives:
Noun: An amount of money or property left to someone in a will.
Adjective: Denoting software or hardware that has been superseded but is difficult to replace because of its wide use.
Most of us would have worked on legacy code OR are working on it OR are even creating legacy code (!!). Just the thought of working on legacy code makes developers spend sleepless nights (yeah, slight exaggeration, but required to highlight the pain). We have yelled and cursed while working on legacy code. Lets step back and reflect a bit about legacy code and see how it can be tackled (if at all!)