The daunting task of modernizing legacy applications isn’t as difficult as it may seem. Although many federal government agencies believe they do not have the budget to tackle this task, continuing to run inefficient software could cost millions of dollars over the years.
The dangers of data breaches, however, will be even more costly, especially when running outdated software that no longer provides updated security patches. Not only are security risks a factor when considering software upgrades, but so is functionality and innovation.
There are three major drivers when considering whether to take action in modernizing legacy software systems, which include:
Cost Reduction — Multiple technology stacks tend to grow over time with associated hardware costs and software licensing costs. The decision to consolidate these technology stacks drives the need to move apps off the obsolete stack. Miami-Dade County has proven cost savings when migrating to a unified technology stack.
Security — Apps running on obsolete technology that no longer receives security patches. It was recently revealed that 27,000 London Met Police computers are still running Windows XP, meaning the largest force in the UK, at the forefront of the fight against terrorism, is running on outdated technology from Microsoft.
App Performance — Bringing the application up to modern standards (e.g., compatibility with both web and mobile) is crucial to meet the demands of today’s marketplace.
After you address the three issues above, there are multiple options to consider for the legacy app:
Rewrite the app from scratch (this can be a slow process, costly and high-risk)
Wrap the app in a connectivity layer (this may afford short-term benefits in surfacing functionality on the web and mobile but the legacy app is untouched, which was reportedly behind what happened with the recent Delta crash)
Modernize the application (e.g., use technology to transform the legacy code from its source language to a new multi-tier architecture such as .NET or Java)
It’s important to choose a legacy modernization partner that will help with the process of identifying which applications are candidates for modernization followed by the best approach for modernizing. The following are best practices that government agencies can follow to help choose the right vendor.
Make sure you run a proof of concept (PoC) that ensures the partner can deliver the solution you require.
Be diligent with the intricacies and timelines for the PoC and be prepared to pay off the work. It would behoove you to run a fast and simple PoC for free first to determine the weaker vendors and move forward with a paid PoC for the top three leading contenders.
Ask the vendors if enhancements can be included as part of the automatic transformation process. An example is making the app responsive in its new, modernized form, meaning the new app is able to function on multiple display formats. This will save significant time and effort over adding this functionality afterward.
Find out if the potential partner provides a risk assessment up-front. Are they providing you reports on the interdependence of modules within the application and indicating modules that carry the most risk during transformation?
Determine if your partner is refactoring the code as part of the transformation process. For example, are they identifying duplicate and dead code with a goal of reducing the application footprint?
If you have multiple products in different software languages in need of modernization, determine if your partner can support all of your requirements and drive you toward a standard technology stack thereby reducing costs?
Ask potential partners if the app-user interface can be customized for (human) language and made multi-lingual as part of the transformation process.
If you are migrating the database, too, ask if your partner can support the transformation work here as well.
If you are modernizing both the application and the database at the same time, find out how your partner manages that process, and ensures quality assurance demarcation between the application transformation and database migration?
Is your partner providing all of the service work to complete the project or is there scope for your team to participate as well?
If you have multiple modernization projects, can your team complete some of them internally? Training your team to participate in modernization projects (there will likely be multiple projects) will enable efficient use of internal resources and balancing across times of high and low new project development.
Your requirements will change over a time. Finding a partner who can handle multiple source software languages and target multiple flavors of Java and .NET will ensure you’re a building a relationship with a partner who can grow and change with you.
These are crucial questions to ask when considering which software vendor to choose as your legacy modernization partner. Having the option to split individual projects with your partner or complete projects 100 percent internally may be a cost benefit if resources are available to do the work.
However, the impact of legacy systems is often overlooked when it comes to employee morale. Software developers want to work on leading-edge technology, not deal with legacy systems that are decades old.
A much better alternative for dealing with legacy modernization from a pro-employee morale standpoint may be to outsource those projects to experts in modernization and leave the software developers to focus on building cutting-edge software with innovative solutions that propel your agency forward. Working with a partner who is flexible and able to meet your many competing objectives can satisfy your employee growth goals as well as your modernization challenges.
Neil Hartley is the U.S. head of operations for Morphis, an enterprise legacy-to-cloud software company based in Portugal and with offices in the U.K., Spain and Brazil, with its U.S. headquarters in Boulder, Colorado.