InsightsWebAndzhela AngelovaGizelle Labay

Build From Scratch vs Build on Top of Legacy Systems

Web DesignAPIApplication program interfacesMobile application designmulti-cloud managementlegacy system

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.

Source: apisecurity.io

 

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.

 

 

There are different approaches to building on top of the legacy system and one of them is through an API – Application Programming Interface. When building on top of a legacy system, organizations must make thorough integration, and embrace a new approach by building a connection between the legacy system and the new system. But how do APIs connect to the legacy system? The modern software platform usually relies on third-party APIs to do user authentication, data sharing, and transactions. APIs normally provides support for different programming languages such as JavaScript, Python, C# and more. However, some obsolete legacy systems are not able to build an API layer between the application and the database.

 

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. 

 

Furthermore, another problem that the organization’s facing when using its legacy system is the integration of mobile enterprise applications. There are two options they can choose from to perform the integration: to replace the system entirely or upgrade it. Indeed, this is another complicated process and a tough choice to choose which needs guidance and professional consulting. Here at Wiredelta, we can upgrade your system to mobile applications. Our team worked with a similar case about Executive Global Network (EGN), which enhances the efficiency in communication flow among the large members of their network. Through the use of JavaScript and Ionic framework, their old system looks newer, fresher and provides users with a proper communication channel. If you are struggling with a similar problem with your old systems, you can check our website and the services that can match your organization’s needs. Also, to learn more about cases, insights and technology trends.

 

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

  • Easy to work with
  • Beneficial for customer interaction
  • Cheaper in the long term
  • More efficient to use
  • More secure solutions than the old legacy system
  • Cheaper maintenance
  • More developers know the developing language
  • Compatible with mobile applications
  • Better security
  • Low risk in the short term
  • Licenses and legal compliance are already approved
  • Cheaper in the short term
  • Less damage from the system
  • Shorter development time
  • Staff are already familiar with the system
  • Improved business agility
  • Minimized disruption

 

Conclusion

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.

 

Leave a Reply

Your email address will not be published. Required fields are marked *