Why enterprises must modernize their apps [Q&A]
Most organizations have some level of legacy apps. These can be hard to maintain and inhibit initiatives like data sharing. But the modernization process is challenging due to staffing, tools, training, and other issues.
We spoke to EvolveWare CEO Miten Marfatia to find out how enterprise IT can ease this complex process and ensure they get it right.
BN: What are the primary drivers for organizations to modernize? What are the potential repercussions of not doing so?
MM: Based on independent research that EvolveWare commissioned, the number one goal for modernization is boosting employee productivity, followed closely by improving business efficiency by reducing maintenance costs. However, we find that motivations to modernize continue to evolve. For example, last year, modernization projects were often driven by the desire to get to the cloud. This year, we are hearing a very different problem statement: organizations are advising us that legacy programmers are retiring and replacement personnel are difficult to find, making it increasingly difficult to maintain legacy systems on an on-going basis.
Another driving factor to modernize is increased pressure to innovate. Outdated systems put significant restrictions on how organizations are able to share data and other intellectual property both internally and externally with vendors and customers. Hence, prioritizing modernization results in efficiencies that improves relationships and increases revenue and profitability.
When it comes to the potential consequences of not modernizing, managing outdated software is often related to increased operational costs due to high licensing fees of the hardware it runs on and the salaries that a shrinking talent pool demands. However, the real consequence of not modernizing is to calculate the cost an organization incurs when a legacy system that is critical to their operations fails. In addition to revenue-related consequences, companies can suffer irreparable reputational damage and loss of market position.
BN: How can modernization mitigate top risks (security breaches, application downtime, etc)?
MM: Legacy systems represent a significant cybersecurity risk, due to vulnerabilities that live in dead or unused code, poor patching practices, and outdated security protocols. Meanwhile, as cyber criminals become more savvy, cyber attacks are not only increasing in volume, but becoming more sophisticated, more threatening and more damaging. This leaves enterprises with antiquated legacy systems exposed, as they weren’t built to withstand these types of attacks and can’t be updated sufficiently to protect against them.
Internal system failures are also a concern that organizations should aim to get ahead of. Take the Southwest incident for example. Southwest Airlines' legacy point-to-point system was not designed to withstand the load of data analysis due to weather disruption, resulting in a massive melt-down of Southwest's operations in late 2022. Southwest's monetary costs are expected to exceed $1 billion due to lost revenues, refunds, and potential regulatory fines.
Organizations can get ahead of the game by making the understanding and modernization of critical systems a top priority now. This is especially urgent given that older generations of legacy talent are aging toward retirement and new generations of programmers are generally uninterested in learning legacy technologies. Enterprises can no longer keep kicking the proverbial can down the road.
BN: What are some common or unforeseen obstacles to initiating and executing a modernization project?
MM: In the past, enterprises would tackle their application modernization journey by executing what are called big-bang initiatives, executing projects that did not allow for review of intermediate deliverables and mid-way corrections. This approach to modernization, however, increases the potential for errors, and consequently, an overrun on budgets that may ultimately result in a failed initiative. Instead, by taking a phased approach, IT teams can test and document each process, so that intermediate results can be generated in shorter periods of time to validate progress, thereby mitigating the risks of a failure.
Another common obstacle that enterprises tend to experience is the issue of code freeze. Historically, IT teams have had to consider a code freeze and keep business policies static during the time it took to modernize each application. In doing so, they are unable to make changes to live applications at any point in the modernization process, potentially disrupting critical business operations. Additionally, in cases where enterprises do need to update code in order to implement critical policies, they risk losing visibility of these changes and incorporating them within the modernization work that’s being performed. This issue can be addressed by implementing agile modernization practices, an area we have focused on at EvolveWare. By implementing continuous modernization practices, code updates can be incorporated into the modernization process thereby reducing user acceptance testing costs and accelerating delivery of the modernized application.
BN: What strategies can help to successfully modernize?
MM: There is no one path for modernization, as every system is different. There is, however, one key approach that applies no matter the path you choose: take a phased approach with intermediate deliverables. The key steps for a successful phased modernization approach are:
- Ensure that the business goals of the stakeholders are aligned and to take stock of current restraints of personnel, processes and budget.
- Document the existing applications to unveil the complexity of the software, areas for optimization, and dependencies
- Determine the modernization path. The most common approaches are replacing, rebuilding and refactoring. Replacing and rebuilding require extraction of business rules; refactoring requires optimization of the source and then converting it to modern target code.
- Conduct a pilot to test and validate the resources and processes that have been selected for each application.
- Regroup with key stakeholders and conduct revisions of expectations based on the items that have been revealed at this stage of the modernization process. We advise enterprises that it’s important to start small and document your processes before you scale.
Taking a phased approach allows enterprises to be successful in their modernization initiative without being blindsided with failing results when it's too late to take corrective action.
BN: How can new technologies like AI and automation help in these initiatives?
MM: AI and automation enable organizations to optimize their application modernization efforts by enhancing efficiency, speeding up timelines, and reducing manual efforts and human errors. This results in enormous time and cost savings and enables organizations to considerably de-risk their modernization journey.
Automation plays into modernization processes in several ways. For example, automated documentation allows IT teams to understand the current state of their source applications by extracting all embedded knowledge from source code. Automated business rules extraction is the process of identifying and capturing the business rules embedded within legacy code to understand the functionality and business policies being implemented by that system. Finally, automated code generation automates the optimization and migration of legacy applications to more manageable and scalable code in new technologies.
Photo Credit: kentoh/Shutterstock