Google Cloud commissioned a report entitled "CIO Guide to Application Modernization." According to this report, 74% of IT spending is on maintaining legacy systems instead of creating new ones. When asked about modernization, business leaders responded that legacy systems "continue to be a drag on innovation." During an interaction with McKinsey, the CIO of a Fortune 500 financial services company had identified the top challenges with legacy systems:
So, companies in pursuit of growth and innovation need to modernize their legacy applications to:
The State of IT Modernization Report 2020 states that “businesses need to modernize IT platforms, applications, governance, skills, and processes to achieve desired business outcomes. Two out of three IT decision-makers say IT modernization is essential to business transformation.” Let us now analyze the lessons learned from successful application modernization.
Lesson #1: Resilient and Scalable Applications
Legacy applications are tightly coupled with the underlying infrastructure, such as the host machines, network, and storage. IT infrastructure could become a limiting factor when you scale applications and bring in more users across geographies. Consider the example of a glass manufacturing company which got acquired by a large corporate house. As part of their integration, users from across the globe had to use the common SharePoint system hosted on-premise. Users had to connect through VPN which resulted in latency, since the application was not on the cloud.
Application Modernization will not just improve performance and allow developers to add more features but will result in better scalability and enhanced security. Companies benefit from the inherent resilience of cloud platforms.
Also, when you break down monoliths into loosely coupled microservices, you can leverage concurrent development in multiple programming languages, which will solve problems related to the availability of skills within the development teams.
Lesson #2: Risk Management
Risk Assessment, Treatment, and Management are essential when your company decides to modernize any applications in the portfolio. Here's a list of best practices that can be followed during application modernization to mitigate risks and ensure that users of applications do not experience outages:
Lesson #3: Seamless Integrations
Companies derive the best Return on Investment (RoI) when they modernize and integrate applications. The seamless flow of data between applications provides opportunities for automation and frees the users from performing repetitive tasks such as approvals in multiple systems. Reengineered applications can be integrated with Customer Relationship Management (CRM), Enterprise Resource Planning (ERP), Workforce Management, and other SaaS applications that connect operations with customer support, sales, and supply chain management.
Elior, a leading hospitality chain in North America, had an abundance of older applications, workflows, and processes that were not integrated. Softura designed & architected a common, global self-service application portal and integrated RPA workflows with HR, ERP, Finance, Budgeting & Accounting, IT & Growth Operations.
Lesson #4: User Adoption and Learning Curve
Legacy application users identified complicated User Interface (UI) and lack of training as top reasons for low adoption. Inconsistent UI and complex elements result in a steep learning curve.
The first step is User Experience (UX) Design when you rebuild an application. Create wireframes and responsive prototypes that users can test before developing the front-end. UX design patterns can be effectively leveraged to simplify the interface and increase user adoption.
Lesson #5: Automation Through DevOps
Companies prefer Rapid Application Development over the Waterfall Model. New paradigms such as Lean, Kanban, and Agile have become de facto standards. Modern applications based on microservices architecture support incremental and iterative development. Gartner has identified Scaled Agile Framework (SAFe) as the number one "most considered and adopted framework for scaling Agile." According to the State of Agile Report 2021, “75% of companies said that accelerated software delivery is their #1 reason for adopting agile.”
In an agile environment, DevOps is a strategy to bring development and IT operations together to ensure you securely release software, services, features, and APIs more frequently and efficiently. IT operations such as release, configuration, and monitoring are automated using DevOps tools. An Agile-DevOps model promotes collaboration and enables organizations to achieve continuous testing, continuous delivery, and integrations.
A top construction and mining equipment company faced the following challenges with their legacy systems:
The company overcame these challenges by modernizing its legacy applications which resulted in:
A leading food distribution company, Gordon Food Service, chose to modernize its eCommerce ordering application to provide customers with a better experience. They decided to build the application using Google Kubernetes Engine.
"We needed to go faster," says Craig Van Arendonk, Director of IT - Customer and Sales. "The competitive landscape required us to put new features and functionality in front of our customers faster, so we needed to think differently about eCommerce and our digital strategy."