I recently read Jeremy Miller’s post on his thoughts about Legacy Code. His expanded definition of Legacy code was perfect:
Legacy code is code that you’re afraid of, but is too valuable or big to toss away Link to heading
He comments on Michael Feathers and how his book “Working Effectively with Legacy Code” is a pillar of knowledge in regards to Legacy Code and how to approach/handle it; you can Start here.
I’m not going to repeat everything Jeremy states, so go read his blog entry.