Modernizing or replacing legacy systems and applications can be a daunting project. It’s so easy for companies to get swept along in the inertia of business. Day-to-day pressures lead many to avoid putting effort into things which aren’t broken. In the IT field, this often means there are many outdated systems running long past their intended expiration date. But with careful planning and foresight, you can reduce or even eliminate some obstacles. Here are five major things to consider before you start a modernization project.
1. Identify all assets that need modernization.
Start with a full inventory of software and hardware. When was it originally installed? When was the last update? Then you can accurately establish what needs updating, and what you can keep as-is for a while longer. Focus on prioritizing those legacy apps and systems which need modernizing. This helps you create an easy-to-follow road map for IT teams.
This is a great opportunity to look at cloud options. Do you have any applications or data that can run on or back up to the cloud? Moving those items over could help reduce the strain on on-premise resources.
2. Analyze the impact of modernization on your infrastructure and application architecture.
For each aspect of modernization, consider whether it would work best in the cloud, on the mainframe, or on distributed systems. You may find that you can get rid of your mainframe altogether, or you may determine that it’s still vital to your operations. For many large companies, the ideal solution is a hybrid environment – one that includes mainframe, distributed and cloud components.
Whichever path you pursue, make sure that you’ve done a thorough change impact analysis. Identifying business-critical applications and their dependencies is an intense project if done by hand. Consider using a tool that automatically helps identify relationships between components, since it significantly reduces the time required for analysis.
Also, pay attention to anything that might affect the experience of your customers. If changes to a back-end database inadvertently shuts down a customer portal, not only are the customers unhappy, but the company may potentially lose out on substantial revenue.
3. Pull out applications that need recoding from scratch.
Applications written in original coding languages like Fortran or COBOL might be at the end of their life cycle, or they could be incompatible with the current IT initiatives. This is especially the case with homegrown applications written in proprietary languages, since the original developers may take in-depth knowledge of the code with them when they retire. In this case, even if you end up with a lot of data migration, it can be a better business choice in the long run to rebuild them from scratch.
Are you using commercial off-the-shelf software? Reach out to the vendor and to see if they have any systems in place for modernizing and updating the application. Keep in mind that this may not be possible if you have heavily customized the application.
4. Consider using containers.
Containers wrap around legacy applications and make it easier to transfer them to a different server architecture or the cloud without having to recode the entire application. This can help with security, as it places security outside of the original application, adding an additional layer of protection in case there are vulnerabilities inside. This is particularly useful if you identify a legacy component, like an old database, that would require a lot of data migration to replace. In this case, you probably want to keep the component in place and modernize the architecture around it.
5. Evaluate training needs.
Familiarity is comfortable. As soon as you introduce a new system, there is inevitable pushback from those resistant to change. To lower the probability of pushback, take the users into account before redesign. Talk to the people who use the systems and get input on what they actually want and how you can help them make the adjustment. Point out that they may be able to gain useful skills, especially if you are moving to standardized systems and away from proprietary software.
If you have customer-facing changes, such as modernizing an e-commerce site, you will need to make it clear and easy for your customers make the change. Remember that any time there are site changes or updates, people will complain. Review complaints after the change and see if you are receiving clear feedback about specific aspects or general griping about it being different.
The fact is, that out-of-date applications aren't as efficient as modern software. They don't allow you to fully leverage distributed systems or cloud computing. If your company is still using bloated applications that contain custom options you haven't used in years, then you're wasting valuable resources. Modernizing systems and applications may be a big undertaking, but in the long term it will be well worth the effort to stay relevant and competitive.