What books/talks/articles did you love having learned from before doing a big legacy migration?<p>I'm looking for any good material on upgrading legacy systems from both an engineering and product management point of view. War stories are also welcome since they're fun to hear. Thanks for any help!
Definitely get a copy of <i>Working Effectively With Legacy Code</i>, by Michael C. Feathers. Indispensable. Second, and more aimed at the project/product management level is <i>Kill It With Fire: Manage Aging Computer Systems (and Future Proof Modern Ones)</i> from Marianne Bellotti. Older, but still worth a look in some cases, is <i>Object-Oriented Reengineering Patterns</i>, 2008, by Demeyer, Ducasse, and Nierstrasz.<p>And finally, at the code level, it's absolutely essential to have a copy of Martin Fowler's <i>Refactoring: Improving the Design of Existing Code</i> handy. Yes, many tools have automated the mechanics of refactoring, but knowing when and how to use them needs this book.