Automation tools can increase the success rate of application modernization projects, allowing teams to execute faster, roll out new capabilities, and win more champions and funding for future initiatives.
Application modernization is a complex endeavor for every organization. Over several decades organizations have developed a portfolio of applications that use a variety of programming languages with interlaced processes customized to meet changing requirements. As a result, no single approach works for transforming every application. These initiatives require automation, flexible but defined and tested processes, and execution in a phased manner so that intermediate results can be evaluated to allow for mid-stream corrections.
Despite the challenges, maintaining a status quo is not an option. The talent available to maintain and support these applications is rapidly dwindling. And many of today’s legacy applications have rigid processes that create data silos and impede digital transformation that is so crucial to accomplishing strategic goals today. These goals include improving customer and employee experience, unlocking productivity gains, reducing operational costs, and using predictive analytics to make strategic bets on emerging demand.
It’s hardly surprising, then, that transforming application portfolios is a top priority for most organizations. This effort is both investment and resource-intensive, and organizations are spending millions of dollars and months, if not years, to modernize each application. Unfortunately, these large-scale initiatives can strain business operations, as they have historically required IT teams to freeze code and place a hold on updating business policies. The alternative is to continue modernization without a code freeze, but then the modernized application must be synched with the latest version of the source application prior to installing it into production.
With so much investment at stake, organizations obviously want their application modernization efforts to be successful. However, 93% of IT leaders have found their modernization experience arduous, citing a lack of appropriate tools and process visibility that have resulted in inordinate delays and budget overruns.
Business stakeholders want a holistic view of their applications and demand transformation with accelerated timelines. IT teams want to use agile processes to reduce risks and automation to deliver value in a rapid time.
Hence, application modernization must be executed using automation tools that incorporate precise processes and support phased implementation.
Automation – Results in Risk Mitigation, Consistency, and Accelerated Results
Many of the underlying challenges of application modernization initiatives stem from (1) lack of sufficient knowledge of the source applications, (2) lack of processes leading to inconsistencies, (3) risk of errors when manually transforming large volumes of code, and (4) long time frames to generate results.
Automation platforms (1) allow automated extraction of source meta-data that results in detailed knowledge of the source applications, (2) provide features that allow agile processes to be defined for each path to modernization, (3) provide consistency in processing, and (4) accelerate the generation of both intermediate and final results.
Taking a Phased Approach – A Recipe for Success
Automation platforms have changed the game for IT teams, bringing clarity to understanding their application portfolio and allowing modernization processes to be defined so that the execution of these large-scale projects have greater visibility and can be streamlined. These platforms automate documentation generation, revealing details and dependencies that must be considered in transformation plans. The same platforms also offer multiple paths to modernization with flexible but definable processes. Additionally, they enable seamless policy updates of applications as they are being modernized, thus removing the need to freeze code. As a result, organizations can now take a phased and planned approach to transforming their applications, reducing risks, minimizing the impact on business, and increasing the possibility of success of this very important initiative. This revolutionary methodology enables both management and IT to make faster progress towards achieving strategic goals.
Organizations seeking to implement a phased approach can use this simple roadmap:
Phase 1: Align on business goals and resources
A critical first step is for IT to work in conjunction with business stakeholders and develop plans and roadmaps that demonstrate how application modernization programs will help achieve business goals. IT team members should work closely with these stakeholders to understand business needs and gain funding and resources to meet agreed-upon modernization goals.
With these commitments, applications for modernization can be prioritized based on the pain points they represent to achieving their organization’s strategic goals. Identifying these applications allows the assignment of required resources, such as people and tools, as well as an estimation of delivery timelines that are reasonably realistic.
Phase 2: Evaluate the applications in-scope along with dependencies
After determining which applications would benefit from modernization, IT teams should thereafter dig into their details using an automation platform or tool that will extract metadata from the source code and generate an up-to-date set of documentation artifacts that include reports, diagrams, and various representations of business logic. This holistic and granular information should also include details of dependencies on external applications, the underlying complexity, and areas of code that may need deactivation or optimization.
Armed with this information, the analysis teams can work to demarcate applications in-scope into modules, identify external applications that require modernization at the same time, and begin to pin down the most suitable approach to modernization for each application.
Phase 3: Determine the most suitable approach to modernization
While there are multiple options for modernizing applications, there are three key strategies that are widely used – replace, rebuild, or refactor. Of these options, the quickest and most efficient way forward is to replace applications with a commercial off-the-shelf (COTS) product that has similar or enhanced functionality. If such a product is not available, the rebuild or refactor options come into consideration, depending on how many enhancements are required.
- Replacing applications requires extracting business rules from the source application and mapping those rules to the rules that are present in the COTS product of choice. Source rules that aren’t present in the COTS product can then be exported into it, giving the COTS product at least all the rules that exist in the source application. Moving an application to a COTS product allows the support team an easier means to update rules instead of having to maintain them at the code level.
- Rebuilding applications involves rewriting the application in a modern programming language and architecture. This path to modernization also requires extracting the business rules from the source application to develop target specifications for the new application. This option allows applications to be developed in the latest technologies with substantially enhanced capabilities and frees up organizations from years of built-up technical debt and vulnerabilities.
- Refactoring applications begins by optimizing the source meta-data before it is automatically migrated to a modern language. During the optimization process, cryptic variables are renamed, dead code is deactivated, redundant code is converted into functions, and processes are consolidated. This will result in a target system that is easier to understand, has reduced technical debt, and has no security vulnerabilities.
It may be noted that modernization platforms exist that not only provide documentation of the source but also include features to extract business rules, perform optimization and generate modern code that requires no proprietary libraries and is maintainable and scalable.
Phase 4: Update stakeholder expectations
After determining the best path to modernization for each application in question, the IT teams should provide their findings and recommendations to the key stakeholders, including business heads and IT leadership. The feedback will include the projected cost and timeframe for executing the plan, in addition to the risks involved and how they will be mitigated.
Based on feedback from management, the teams will make the necessary adjustments to the plan and to the resource requirements, including personnel and budgets.
Phase 5: Perform a pilot of the modernization plan before scaling
A pilot project to test the modernization plan is crucial before extending work across one or more applications. During this phase, application modernization teams will gain hands-on experience with the selected tools and processes to determine any unmitigated issues not thought of and also determine if the processes conceived of are repeatable and scalable.
This phase will provide the confidence for organizations to write requests for proposals (RFPs) and invite trusted vendors to bid on projects within the modernization initiative.
A final word on improving app modernization success
By changing their approach to use automation tools while following the above roadmap, teams can increase the success rate of application modernization projects, executing faster, rolling out new capabilities, and winning more champions and funding for future initiatives.