• Treat legacy software as the 3rd party software,  take its output and convert it into a form that can be consumed by a new application or a system that you’re migrating to.
  • Change only what must be changed. Never underestimate the dependencies in legacy software.
  • Rely on TDD. Write a test that fails, write the code so that your test passes, refactor the code, re-run the test to ensure it passes.
  • “Always leave the code you are editing a little better than you found it.”
  • Don’t cut too many corners and try to maintain projects. Show some TLC to legacy software.

Full post here, 6 mins read