HACKER Q&A
📣 greenyouse

What are your favorite resources for modernizing legacy systems?


What books/talks/articles did you love having learned from before doing a big legacy migration?

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!


  👤 cratermoon Accepted Answer ✓
Definitely get a copy of Working Effectively With Legacy Code, by Michael C. Feathers. Indispensable. Second, and more aimed at the project/product management level is Kill It With Fire: Manage Aging Computer Systems (and Future Proof Modern Ones) from Marianne Bellotti. Older, but still worth a look in some cases, is Object-Oriented Reengineering Patterns, 2008, by Demeyer, Ducasse, and Nierstrasz.

And finally, at the code level, it's absolutely essential to have a copy of Martin Fowler's Refactoring: Improving the Design of Existing Code handy. Yes, many tools have automated the mechanics of refactoring, but knowing when and how to use them needs this book.