Book: Working Effectively With Legacy Code
I've just finished the above book, which was recommended to me by Jeffrey Palermo a few months ago. It is one of the most useful software development books I've read since Code Complete. I wish I'd read it years ago, and I'm finding myself refactoring and rethinking my approach to current systems I've been working on for some time to make them more testable and easier to work with -- and I'm already seeing improvements. Seriously, if you're writing software, you should buy this book and move it to the top of your professional reading list. It's the book that Refactoring should have been, in that it is a very easy read with great examples that also serves as an excellent reference. I just bought copies for all my full time developers.
Why are you still reading this? Go! Read the book!