Chances are, your organization is looking to modernize legacy applications, break down monolithic application architectures into services, and migrate to public or private cloud infrastructure. Along the way, you might also want to improve user experience, create CI/CD pipelines, add test automation, and implement a slew of other devops best practices.
It’s a grand plan, but sadly, recent research shows that 79% of application modernization projects fail. In the research, 92% of respondents had application modernizations in progress with an average project duration of 16 months, costing $1.5 million. Worse, nearly 80% of software leaders and architects admitted to one or more failures.
While it was once popular, many CIOs and devops teams now dread resorting to a lift and shift for application modernization. Even when the application's architecture, security, performance, and costs have few migration risks, the cost to migrate and test could yield few business benefits or end-user improvements. More and more, organizations are looking to low-code and no-code platforms as an alternative to lift and shift.
[ Read the InfoWorld reviews: Amazon Honeycode | Microsoft Power Apps | Google Cloud AppSheet ]
Why app modernization failsSee, The 7 Rs of cloud app modernization for a list of reasons why “just move it to the cloud” isn’t so trivial.
Table of Contents
Using low-code and no-code platforms is one way to make application modernization more viable. In general, you won’t be able to port existing code and databases directly to one of these platforms, but they do provide the infrastructure to rebuild legacy applications quickly while addressing their shortcomings.
“Software architecture requires broadening our perspective and considering the larger system, a wider range of possibilities, and a longer time scale,” says Andrew Davis, senior director of methodology at Copado. “Legacy applications are living proof that a significant portion of the cost of software is in its long-term maintenance. Low-code and no-code applications are designed to reduce complexity and thus increase maintainability over time.”
Low-code or no-code platforms can help accelerate application modernization, but not in every case. You need a good match between the application's business requirements, user experience, data, architecture, integrations, security needs, compliance factors, and reporting with a low or no-code platform’s capabilities. Below are some tips that can help you determine whether low-code or no-code is a viable approach for your application modernization project.
Some types of applications and use cases are better candidates for low-code and no-code. Applications used for departmental business processes such as approval workflows, onboarding, content management, work queues, request processing, budget management, and asset tracking are high on the list. Another set of use cases involves integrating, joining, and merging data sets that feed applications, reports, or automations.
Nominations are open for the 2024 Best Places to Work in IT
The foundations of these business processes and data flows were often jerry-rigged using spreadsheets, word processors, emails, Microsoft Access databases, and other desktop applications. Department leaders could either live with the manual workflow, use robotic process automation (RPA) tools to automate some steps, build a no-code application, or ask IT to develop one for them. When IT received the green light to build an application, many elected to code it rather than use a low-code or business process management platform.
Any proprietary application developed and coded by IT needs ongoing maintenance, and unfortunately, it’s the smaller departmental applications that often get the least attention. When it’s time to modernize them, low-code and no-code platforms can be accelerators, especially when the legacy application has the following characteristics:
If the application is complex, rebuilding it in a no-code platform could be challenging. Low-code platforms that help accelerate development are more likely to have the required flexibility. Some even come with tools to accelerate modernization.
“Modern low-code development platforms have a host of inbuilt accelerators,” says Vikram Srivats, chief commercial officer of WaveMaker. “If time and money are in short supply, low-code platforms offer a flexible approach to dramatically increase modernization speed, packaging up existing business logic in the legacy application via APIs, and consuming them in modern, performant, and secure front ends.”
Look for platforms that have modernization solutions, application marketplaces, or coding language-specific translators. These indicate that the platform provides the building blocks for modernizing existing applications.
The next factor to consider is the type of modernization project and what your team is looking to get out of it. Low-code and no-code tools are better suited to some application modernization scenarios than others.
A common path to modernization is rebuilding the user experience, business logic, and data flows from the ground up. Business leaders who recognize the need to transform their business processes may want to redesign but may not have the time, budget, or interest to develop a homegrown cloud-native application. Building a new experience in a low-code platform may be a viable option, especially when stakeholders come in with flexible requirements and are open to the ways that low-code platforms simplify implementations.
Dinesh Varadharajan, chief product officer of Kissflow, says:
Low-code has emerged as a solution to modernize legacy systems developed with a traditional perspective. The objective is not merely to copy or replicate the existing system but to create a modern version. To achieve this, low-code and no-code offer frameworks that are well-defined, already abstracted, and provide modern components. The value addition of this approach lies in the ability to quickly create a modernized system better suited for current business needs.
Rishi Bhargava, co-founder of Descope, shares why a low-code approach can offer longer-term advantages. “Abstractions are faster, and building supporting systems outside the developers’ core expertise is quicker when visualized as a low or no-code abstraction,” he says. “New developers can more easily pick it up rather than poring over old code, and lots of custom code takes developer resources to maintain and update with time.“
The redesign approach works best when working with open-minded stakeholders and business sponsors. Look for stakeholders who seek new ways of performing workflows, are willing to compromise on implementations, and are less likely to view legacy tasks as hard requirements.
Another modernization path calls for updating existing business process with many complex and manual steps. These legacy applications look half-done to a technologist, especially when end-users do more of the heavy lifting outside of the application or when applications are highly data-driven without crafted business processes. Focusing on the process gaps can lead to developing automations to replace the manual steps.
“Legacy processes rely on manual procedures that are time-consuming and limit scalability, resulting in slow, error-prone, and costly processes that can’t keep up with the pace of modern business,” says Mav Turner, chief technology officer of devops business at Tricentis. “Low-code and no-code solutions enable organizations to automate end-to-end-quality at faster speeds with reduced maintenance costs, streamlining the process for development teams and saving resources down the line.”
Sometimes it happens that IT needs to upgrade the platform on an application that business users have little interest in changing. IT needs business users to perform user acceptance testing (UAT) on the modernized application, but business users aren't motivated to do their part. When IT can't get the buy-in needed to build test cases and conduct repetitive testing, the result is a bottleneck.
One workaround is to use traditional steps to modernize these applications but then use a low-code test automation platform to build regression tests. The goal would be to remove the UAT bottleneck and leave a set of regression tests to support future upgrades.
“AI-augmented quality engineering tools streamline processes, flag potential bottlenecks, and empower non-developer roles like business analysts and testers to ensure quality,” says Turner. “Developer teams then have more time to focus on more specialized tasks and accelerate app deployment without sacrificing quality.”
To summarize, low-code and no-code platforms offer several paths for accelerating application modernization. The key to success is understanding requirements, partnering with stakeholders on evolving business processes, and reviewing how low-code and no-code platforms can accelerate development while simplifying ongoing maintenance.
Next read this:
Related:
Copyright © 2023 IDG Communications, Inc.