What Is Application Modernization and Why Keep the Tech Stack Up to Date
24 Jul 2020
8 Min
5270 Views
According to Flexera report, most software products have a lifecycle of five years. It gets harder and costlier to support older software—companies may spend from $7 to $19+ million per year on legacy applications. And still deal with bugs, errors, and outages.
Application modernization may be the solution. It's the process of converting a legacy system into a modern app which helps to improve its security and scalability.
In this guide, we’re discussing business application modernization—what it is, what it brings to business, and where to start modernization from.
Here’s what we’ll review:
What Is Application Modernization?
Business application modernization isn’t just about rewriting an app from one programming language to another. It’s the process of converting a legacy system into a modern infrastructure, architecture, and features.
Let’s say your company uses an outdated CRM system from the times the business was relatively small. As the company grows, you may need to add new features like searchable invoice history or quick invoices to clients.
Old monolithic suits are not capable of upgrading—you’d either have to use a different tool or continue to issue invoices manually. Not to mention errors and critical issues the old software starts throwing in time.
In this case, application modernization may refer to moving to cloud-based architecture to introduce new modules and features faster, changes in the security model, and UI update.
UI/UX design often has to change to adapt to new standards and business requirements.
When we were modernizing RetailOps, a SaaS retail platform, our clients asked to make the platform easy-to-use for workers with vision issues. We reengineered the app and completely changed its UI/UX design, making the app not only performant but accessible for any employee.
RetailOps UI/UX design before and after modernization
An 'old' system doesn't always mean a 'bad' system. It's rather connected with whether the old suit can process modern (digital) operations, be scalable, and supported without huge expenses.
For example, when the software is written in antiquated programming languages like COBOL or Visual Basic, it’s harder to support it.
That was actually the case with ten US federal systems in need of modernization (the full list includes 65 systems, some of which date back to 70s). Many of these solutions rely on COBOL, have various support issues, and security vulnerabilities.
You need developers to support such systems—fix bugs, monitor security breaches. And it’s much harder to find a programmer these days who knows COBOL or Visual Basic than developers who work with Java or .NET.
Check the top 10 programming languages that remain relevant for 2020.
Indeed lists only 401 jobs for COBOL developers. For Java developers, there are 28,143 jobs on the same resource.
How to Find Developers for Application Modernization?
Finding developers for business application modernization may seem complicated—you need qualified programmers who already worked on similar cases.
You may start with choosing between three hiring options:
- Hiring a freelance developer
- Assembling an in-house team
- Outsourcing app modernization
Hiring a freelancer is cheap but good only for small one-time projects—making a landing page, fixing a bug, adding a shopping cart to your website or mobile app.
Applications modernization in a large-size company doesn’t actually fit the description. You’ll have to hire several freelance developers (if you don’t want the process to take years), a UI/UX designer to update the software interface, and manage everyone not to mess up the whole process.
Working with an in-house team is a more reliable but much more expensive option. You’ll have to look for qualified developers, interview them, rent an office, pay for software and hardware, and bare lots of other expenses.
If you have enough time, financial resources, and years of work ahead, hiring an in-house team is justifiable.
But if you’re constrained by budget or time limits, try looking for offshore development companies. They’ll provide you with a full team of developers, UI designers, QA engineers, assign a PM—and their services will cost much lower compared to an in-house team.
Check our comparison of these two approaches—in-house vs outsourced software development
According to the Public Cio report, outsourced modernization is the second popular option.
Outsourced vs in-house vs open-source software
Besides, many outsourcing companies offer post-release support—full updates, bug-fixing, redesign, app scaling.
Why Is Application Modernization Required?
Here are the most common reasons for modernization:
The main concerns of companies that use legacy software—no integration and high maintenance costs
Let’s discuss some of the most popular reasons.
Reason #1. High Maintenance Costs
In 2019, the US government planned to spend more than $90B on IT services. About 80% of this amount went towards maintaining legacy systems.
Shawn McCarthy
research director for IDC Government Insights.
Agencies are spending more than three-quarters of their IT budget—number that continues to grow—on support for legacy systems,
More funds go to supporting old systems, less—toward the development of new solutions. Here's how much it costs to modernize old systems vs. continue to maintain them:
System name | Cost of deploying a new system | Cost of operating an old system (annually) |
State ERP systems | $70M | $7M/year |
State integrated tax systems | $34M | $2.3M/year |
State integrated eligibility systems (IES) | $107M | $8.6M/year |
Medicaid management information systems (MMIS) | $50M | $19M/year |
Modernization of enterprise-level applications does come with a price tag. But a new MMIS system pays off in just ~2,5 years—and at once eliminates UX issues, frequent outages, and issues with meeting today's security requirements.
Reason #2. Security Vulnerabilities
Just as technology and software become more advanced, so do cyber threats. Viruses, malware, and attacks are critical for outdated software as cybercriminals know their weaknesses and exploit them.
According to the Symantec report, outdated applications are more vulnerable to security threats and data breaches. That’s because software updates often include patches for newly discovered security threats that could be exploited by attackers.
If you're using healthcare or financial product, the software must comply with HIPAA, PCI, SOX, and other standards. And they require your technology to be supported.
Explaining how to make software that complies with HIPAA requirements.
In case you experience a data breach in a system that deals with personal or financial details (which is very likely due to security holes), you’ll have to deal with penalties. Healthcare data breach, for example, costs $6.45M.
Reason #3. Limited Business Opportunities
Legacy software does not fit in with the needs of today’s customers and employees. Especially when it comes to remote operations.
Take the banking sector, for example. Digital channels are boosting in the financial industry. There are already 57M mobile banking users in the US, and Bank of America app is an industry leader with 25M mobile users.
The future banking system heavily relies on mobile apps
If a bank is sticking to old software while its competitors adopt new digital solutions, it won't be hard to lure away some of their customers.
Besides, by introducing an up-to-date solution, you're attracting new customers and making your employees more productive.
According to a Forrester study, developers that work with modernized applications are 40% more productive. The right choice of technology can help make engineering teams more efficient and improve time-to-market.
Where Does Applications Modernization Start From?
So, there’s a need to modernize your business applications—and quickly. How to complete modernization without cost overruns, missed deadlines, and project cancellations?
Start by reviewing what you already have. As soon as you access your current application, you can start making plans to increase its value by modernization.
Step #1. Assess the current state of your applications
Start with studying all aspects of the current solution—code, architecture, UI design, and decide on how scalable the software should be, taking into account your future plans for business growth.
Step #2. Discuss modernization approach
Choose the modernization approach together with your development team. Decide if you're going to move the system to another architecture, migrate to the cloud, or expose functionality via APIs.
Step #3. Rethink the architecture
Legacy systems often have a complex monolithic architecture, so when planning modernization start with including only must-have features. Think whether it's worth to use the microservices architecture approach to make the product scalable.
Step #4. Choose the tech stack
Make sure developers offer a future-ready technology stack that depends on your project specifics. The right tech stack allows devs to build a performant, reliable, and scalable product.
Step #5. Establish a staff training budget
Your employees have probably been working with the old system for years, and it'll take time and guidance to adapt to the new software. Be ready to invest in staff training—to make sure your team will make the most of the modernized solution.
Cleveroad Expertise
As we've been on the market for 6+ years, we had a few projects regarding applications modernization.
I’ve briefly mentioned RetailOps—a SaaS retail platform we’ve upgraded. We worked with an old-versioned iOS app written in Cordova instead of native iOS-language (Swift).
Our Design team created a perceivable UI/UX design, and we used the right contrast color scheme our clients requested. We finalized the features RetailOps already had and added new functionality.
RetailOps iOS app after modernization
You can learn more about RetailOps in our portfolio case or case study.
Another example of application modernization was an internal CRM system we’ve worked on under NDA.
Initially, the software was written in out-of-date PHP. It was impossible to add new functionality and maintain the system, so we rewrote the software from PHP to JS.
Our clients got a stable and customizable CRM system—they still use it for internal processes. The solution is scalable, so our clients can easily add new features as their business grows.
Move away from obsolete software
We will find the modernization approach that won’t disrupt your company's internal processes.
Business application modernization is converting a legacy system into a modern infrastructure, architecture, and features.
Application modernization allows businesses to cut down software maintenance costs, improve their staff members' effectiveness, and eliminate security issues connected with outdated systems.
There are three reasons:
#1. High maintenance costs. In the US, Medicaid management information systems (MMIS) support costs $19M/year while its modernization costs $50M--a new suit pays off in ~2,5 years.
#2. Security threats. Viruses, malware, and attacks are critical for outdated software as cybercriminals know their weaknesses and exploit them.
#3. Limited business opportunities. Legacy software does not fit in with the needs of today's customers and employees. Especially when it comes to remote operations.
Start with assessing the current software—its code, architecture, UI design, and decide how scalable your future suit should be.
Then choose the modernization approach—rethink the architecture, choose the tech stack.
Evgeniy Altynpara is a CTO and member of the Forbes Councils’ community of tech professionals. He is an expert in software development and technological entrepreneurship and has 10+years of experience in digital transformation consulting in Healthcare, FinTech, Supply Chain and Logistics
Give us your impressions about this article
Give us your impressions about this article