Legacy systems are one of the main reasons why many organizations fall behind their competitors. It breaks down innovation and prevents businesses to obtain their full potential. Often times, organisations are left with only two options — either they build a new system from scratch, or they build on top of their existing (legacy system). Let’s elaborate on the difference between building a new system or building on top of your current solution.
Option #1: Build From Scratch
Building a new system is a difficult and resource-intensive alternative that companies are often forced to perform. There are many reasons behind that. For instance, new regulations can demand new system capabilities, which are not supported or even possible to build in the pre-existing system. An example of such technology could be an open API — Application Programming Interface — that for example banks recently are obligated by law to have in place for third-party developers.
In the past, users accessed a web server through a browser, and most of the data processing was performed on the server itself. However, the significant difference between traditional systems and the new ones is the integration of an API. It allows applications to interact with each other without any user intervention and the rendering element in this instance is the client that consumes the raw data, not the server itself. In connection with this, APIs are further discussed in the next section which is building on top of the legacy system.
Investing in a full replacement of an existing system can have massive consequences for a business. The functionality of new systems generates notable productivity gains, but there is a risk attached to it, as any new system needs to be tested and implemented across the organisation, which is a time-consuming and resource-intensive task.
However, relying on an old legacy system may challenge your users in the limited possibilities for interaction design and customer experience. User-communication issues are an essential factor behind the failure of many development projects. Therefore, organizations have to consider building a new system from scratch if they want to avoid unwanted circumstances.
Nevertheless, for some companies building a new system from scratch would not be the best solution, especially when the old system is dozens of years old which can lead to system disruption. Occasionally, the risk and cost overcome the advantages. Organizations that are not capable and don’t have the bandwidth of implementing a big new system have to consider modernizing the old legacy system in order to keep it working in the most efficient way.
Option #2: Build on Top
Now that we know more about the advantages and disadvantages of building a new system, we can explore the alternative of building on top of legacy systems. Many organizations today are forced to use outdated technologies to maintain and build on top of their current systems. Legacy systems are often rigid and difficult to maintain, however, by modernizing the IT system any organization can still retain and extend the value of its IT investments through migration to new platforms and technology.
Here’s a video from O’Reilly Media where Kurt Monnier, a director from Progress Software, discusses the challenges that many organizations are facing today in the market when modernizing their legacy system. You can watch the full video for more information underlying how to overcome these challenges.
Let’s give an example of how we can use APIs to build on top of a legacy system.
One of the ways to use APIs is what we call encapsulation. Encapsulation is a mechanism that binds together with current and new systems or code. The current environment of the code will be connected to the new environment and access layers through the API. Slight changes to the code minimize the risks for an organization that has built legacy systems for many years. Therefore, encapsulation is one of the fastest and most economical solutions for building on top of legacy systems. It gives a new interface to a legacy component that is easily accessible to other software components.
The next approach to modernizing the legacy system is called rehosting. In this method, the mainframe application is unchanged when moving to the physical, virtual or cloud infrastructure. It is considered as low cost and risk. One of the ways is by cloud migration. Cloud migration is the process of moving an organization’s data, applications or other digital business operations to a cloud infrastructure. Since the data is growing through time in a legacy system, accessing it may be challenging. Through the cloud, it is easier to locate the data, faster, and it is accessible for the employees and clients of the organization.
5 Steps Model to go through when deciding to build from scratch or build on top:
1) Identify Gaps
You have to first analyze how big the gap is between the tasks your system is able to complete and what you need to achieve in the future.
2) Current Capacity
You need to examine the software’s real-time effectiveness as speed and ability to support new platforms such as mobile devices and app integration is becoming business-critical.
3) Current Problems
Elaborating on existing problems such as very difficult or impossible testing, non-existent documentation, confusing code or outdated design.
4) Consider Financials
Building a new system is almost surely a better decision to grow your business. But does it make sense financially?
5) Make a Decision
The decision to make is a very complex process that requires an enormous amount of time and effort. Take some time, carefully go through the pros and cons, and don’t hesitate to reach us when in doubt.
With the five steps on whether to build from scratch or build on top, it’s decision time. So we wanted to sum up the benefits of the two so you make the right decision:
To Build from Scratch
To Build on Top
Nowadays, the world is going through a stage in which emerging technologies are playing a huge role in whether your organization will succeed or not. As digital transformation is evolving at a remarkable pace, organizations have to keep up by adopting the opportunities they offer. However, managing legacy systems is a huge task for most organsations, where modernizing an existing legacy system or building a new one from scratch is one of the most important questions to answer going into 2020. It is not an easy decision to make, which is why Wiredelta can help you analyze your current system and develop a solid strategy providing the latest technologies and architecture solutions.