Robert Annett explores some of the issues of upgrading, maintaining or replacing legacy Java and .NET applications that haven't been touched in a decade, providing advice on solving common problems.
Mike Long describes techniques for managing large legacy restoration projects, using a roadmap, prioritizing technical debt remediation tasks and motivating devs and stakeholders during the process.
Sandro Mancuso runs a hands-on demo adding tests to a Java legacy code then refactoring it.
John Davies walks through a reference implementation of a in-memory database meant to combine dozens of different legacy databases developed by banks over time.
Robert Reppel discusses applying DDD and SOLID techniques in order to improve legacy code, exemplifying with real code.
Håkan Råberg and Jon Pither on introducing Clojure to an investment bank team having a large Java code, dealing with cultural differences, the lessons learned, and ways of dealing with legacy code.
Eric Evans shares 4 strategies for dealing with messy legacy systems: Bubble Context, ACL Synchronization, Exposing Legacy Assets, and Domain Events Channel.
Brian Foote shares 17 tips that help dealing with muddy legacy code: Testing, Divide & Conquer, Neoteny, Gentrification, Demolition, Quarantine, Refactoring, Craft, etc.
Eric Jan Malotaux shares his experience converting a legacy C++ application to Java, the strategy used, the lessons learned along the way, and the unsolved issues remaining.
Eoin Woods shares some of his architectural experience along with principles and techniques useful when working with legacy systems.
Stuart Charlton presents Canadian Pacific’s strategy for a modern IT: adopting hybrid cloud, introducing Agile/Lean development, automating everything, distributed data systems, RESTful integration.