Chapter 5. Beyond Lift and Shift: Working with Legacy

Legacy is not what I did for myself. It’s what I’m doing for the next generation.

Vitor Belfort

Many organizations are faced with the challenge of keeping their existing business operations running while also trying to innovate. There are typically increased expectations to deliver new functionality faster and to reduce cost, something that seems challenging when looking at the existing application landscape and prevalence of legacy systems.

We often use the term “legacy system” to describe an old methodology, or technology, or application that is not written according to the latest methods or uses an outdated technology stack. Admittedly, many of the systems we created early on in our career belong to this category. We do know that most of them are still in use. Some of them even paved the way for new approaches or even standards that followed them. We usually also imply that those systems would need a replacement, which ultimately contributes to the perceived negative connotation. Thankfully, this isn’t always true. Legacy also is a beautiful word to describe achievements and heritage. Calling something “legacy” doesn’t automatically make it outdated and unusable. There are plenty of reasons to keep the legacy systems in place, including:

  • The system works as designed, and there is no need to change.

  • The business processes implemented are no longer known or documented, and replacing them is expensive.

  • The cost for ...

Get Modernizing Enterprise Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.