Legacy software is – rightly – a hot item within IT. It eats up IT resources, hinders innovation and is an obstacle to digital transformation. Unfortunately, there is no cheap, one-size-fits-all solution available for these outdated business-critical systems. In this article, we zoom in on questions like: how can you continue to get value out of your old IT investments? And how do you ensure that, as you transform to modern systems, your legacy systems are available in the modern workspace?
The many-headed monster of legacy software
Old, or better still, outdated IT investments often pose a challenge within organisations. Think of applications that are based on old technologies, that lack certain functionalities or that are not available as Software-as-a-Service (SaaS) yet.
What is the main reason that legacy systems still exist? As a rule, it is because people fear that it is very expensive or complicated to switch to a modern system. For example, in the case of customised software such as custom ERPs, it is generally the case that a great deal of knowledge about the company is embedded in the system. When rebuilding an application, people worry about a lot of that knowledge about business processes being lost.
In addition, there is often the idea that it is a waste to invest in a new system while the old one is still running. Another common problem: there is resistance to new software among employees because not everyone likes change.
The issues with legacy IT
The underlying causes for the emergence of legacy software are the same for most organisations. These include the takeover of smaller companies which have their own systems, a decentralised approach of the IT department resulting in different divisions or branches having built their own software as well as customised software for which technologies were chosen at the time which are now outdated (such as the COBOL and .NET programming languages).
The problems that can arise from outdated software are numerous, such as:
- The application cannot easily be migrated to the cloud.
- The application is not scalable.
- Upgrading the application is difficult and expensive, with the side effect that the IT department has less time for other matters.
- The user experience no longer meets the requirements of modern times.
- The application does not contain all the functionalities that the users need.
- The application is not always suitable for integration with other, more modern software.
- The application is difficult to integrate into the modern workspace because there is no cloud or SaaS version available (this problem, as we will explain later, is easily solved with Workspace 365).
The consequence of all these problems? Outdated applications inhibit your innovation and are an obstacle to your digital transformation.
Solution: modernising legacy systems
Because legacy software consumes IT resources and reduce productivity and efficiency, these systems are no longer cost-effective which creates a need to modernise legacy systems.
The best way to modernise your legacy system depends on a number of factors. These include the degree of technical and functional obsolescence, the extent to which you can integrate the system with other software and the costs of modernisation compared to the costs of maintaining the current system. Gartner classifies seven options for modernising legacy software:
1. Encapsulate
Optimise and extend the functionality of the application by ‘encapsulating’ the data and functions and making them available as services via an API. Thereby you can upgrade components on an individual basis.
2. Rehost
Re-implement the application in a different cloud infrastructure without having to change the code, functionalities or functions. This is also called ‘lift and shift’ and can be done with virtualisation platforms such as Microsoft Hyper-V or VMWare.
3. Replatform
Migrate to a new runtime platform. In doing so, you make minimal changes to the code, but not to the architecture of the code, the functionalities or the features.
4. Refactor
Restructure and optimise existing code, but not its external behaviour, with the aim of removing technical ballast and improving non-functional attributes.
5. Rearchitect
Make significant changes to the code to move to a new, upgraded architecture for the application, resulting in new and, most importantly, improved capabilities.
6. Rebuild
Here you go back to the drawing board to redesign or rewrite the application, keeping the scope and specifications of the application.
7. Replace
Wipe out the entire old application and replace it. An important aspect is that you take a fresh look at all the requirements and needs. This is the most far-reaching option, with some major drawbacks: it is expensive, time-consuming and creates business risks.
Does no-code or low-code offer a solution?
When modernising legacy software, the big fear is often that such a software project is terribly expensive and time-consuming. It does not have to be that way if you choose no-code or low-code.
With this new way of developing software, ready-to-use software modules are available on the development platform, making the building of applications up to ten times faster than with traditional software development. With the strongly visually oriented no-code, no programming knowledge is required at all; low-code primarily aims to allow programmers to develop faster. Well-known platforms include Mendix, OutSystems, Betty Blocks, Thinkwise and Microsoft Power Apps.
There are three ways to modernise your obsolete software with no-code or low-code:
1. Rebuilding the application
This method is particularly suitable if the application is not only flawed from a technical point of view, but also leaves something to be desired from a functional point of view. The new application can be developed quickly, but not as quickly as with upcycling, and all functional and technical legacy can be removed.
Unfortunately, on the other hand, this method takes a lot of time and effort and you run a relatively high risk of scope creep, i.e., the gradual expansion of the scope of an IT project – often without anyone noticing – without a new scope being defined.
2. Upcycling the application
When upcycling, you read the database of a legacy application, so to speak, and then the metadata is derived from the data sources and the basis for your new application is formed.
Modernisation does not take place by rebuilding the application from scratch, but by recycling usable parts without having to convert old code to new code. This means development is very fast, you do not run the risk of scope creep, the functionalities remain the same and all technical legacy is removed.
3. Layer customisation on top of legacy system
Do you have a legacy system that still works fine from a technical point of view and which you can link to, but which lacks a number of functional aspects? For example, because something like a portal where customers can view data and make changes is missing?
Then you can use a platform for no-code or low-code to build a piece of customisation on top of the legacy system. A smart interface takes care of synchronising data between the legacy software and the no-code or low-code application. Whereas a complete rebuild of such a system takes months or even years, such a piece of customisation can – literally – be live next week or next month.
The modern workspace versus outdated software
How does the modern workspace – or an online workspace where all applications, documents, information and contacts are united in one environment – compare with outdated software? Let’s start with: a modern workspace where all applications are available in the cloud as SaaS is the ideal solution. It delivers the most ease of use and the least frustrations and technical complications.
Although the ‘SaaSifying’ was already in full force before the corona crisis and has only been accelerated by corona, a lot of applications are still not available as SaaS today. For legacy systems, this will almost always be the case as well.
A hybrid modern workspace, integrating legacy with cloud-based apps and data in one environment, can be a nice intermediate step towards a completely new system. Why? For several reasons. Because you keep the legacy software for a while but are already implementing the new workspace technology, you spread the costs and implementation risks over a longer period of time. Moreover, it increases the chance of successful adoption: employees do not have to start using new software exclusively, they can continue using their familiar business application(s) while getting used to the new modern workspace.
A hybrid modern workspace with Workspace 365
Outdated software – as will be clear by now – is far from ideal, but thanks to Workspace 365 you can seamlessly integrate these applications into your modern workspace. With a hybrid workspace from Workspace 365, you can easily integrate applications running on virtualisation platforms such as Azure Virtual Desktop, Citrix Workspace and Nutanix Frame as well as legacy file servers into your workspace environment.
For adding individual applications Clientless RDP offers a way out: the application is streamed remotely in the browser without you having to install a client on your computer or having to log in first.
How does the hybrid modern workspace contribute to the objectives of your organisation? Employees have access at all times and with just one click to all the applications they need to work, regardless of whether these applications are web-based, hosted, local or on-premise. As a result, employees have all the relevant applications, documents, contacts and information at their fingertips in a single interface and with a single click.
Do they have to constantly enter passwords? Not at all, that’s a thing of the past: one login is all they need. Workspace 365 supports Single Sign-On. What’s more, the workspace can be easily secured with multi-factor authentication.