(And why you probably need it even if you aren't hiding mainframes and COBOL behind the scenes.)
Legacy Modernization is the process of replacing old systems, applications, and development methodologies with faster, sleeker, better approaches.
Do your systems have to run batch processes at night? Do you have to export data in manual processes to connect to other systems? Are your IT teams afraid to change anything because nobody knows how this stuff even works?
Those all sound like Legacy Modernization candidates too.
But - what about this? Do you have systems that are only four or five years old and don't have any APIs for connecting to your other systems?
Chances are - if you're not running a cloud or hybrid-cloud ecosystem with an Agile-focused dev team, using DevOps approach for CI/CD then you could benefit from Legacy Modernization.
Many people think of Legacy Modernization projects as tedious housekeeping exercises, required to move applications away from outdated infrastructure or operating systems before they become catastrophically expensive or unreliable. There can be much more to modernization than just replacing old big-iron systems with cloud, or implementing high availability load-balanced infrastructure.
A better approach is to think of modernization as a catalyst to rethinking your IT strategy. If you think of modernization as a chore or a simple bit of homework, you're missing the point. Increasingly, your IT department isn't a utility that you use and ignore - it's the engine that makes everything possible. Thinking of IT as a "set & forget" utility is how you end up in desperate Legacy Modernization crisis in the first place. Understand that the truly modern IT approach is not a destination, but a journey down a path of continuous improvement. True success in modernization means you never stop improving.
That may be a frightening thought - but let's examine why this is the best way forward. In the old days it was common for big projects to engage large teams for months or even years building custom applications that ran on big machines and which were expensive to maintain or change. A small change in one area of the application would often require a complete re-test of the entire system "just in case" and so changes would get batched up into monthly, or quarterly (or even annual) releases. Users of the system would give up on requesting new features knowing that they would probably move to a new job before ever seeing them.
The new world is one where small, efficient applications are connected on cloud-based systems that all intercommunicate via APIs. These fine-grained APIs are commonly referred to as microservices. Application code can be constantly improved upon without disrupting the system as a whole. Automated testing and CI/CD means frequent, small updates can be deployed at low risk to the system. New applications and microservices can easily be added to the ecosystem which add additional features. Containerization of applications means that scaling to support seasonal load or sudden customer interest can be handled automatically. The microservices APIs are secure and easily support reporting and monitoring on the system.
While startups might be able to live in this new world from the outset, the reality for most established companies is that they likely run a hybrid solution of corporate-owned servers with virtualization and containerization, along with part of their ecosystem hosted by diverse cloud providers. They may also have SAAS subscriptions for applications like CRM or email. If your company has legacy systems, consider modernization as an opportunity to get closer to a future-proof, modern ecosystem.
Avoiding the pain (or cost) of an outdated system is certainly a good reason to start a modernization project, but don't let it become the only objective. Take the opportunity to be truly transformative by considering new possibilities and new ways of doing things. Keep the heritage, but lose the baggage.