Serengeti logo BLACK white bg w slogan
Menu

The Importance of Application Modernization - Key Considerations and Solutions

Goran Kalanj, CEO
14.07.2023.

Many businesses are increasingly focusing on application modernization. Digital trends, working remotely and rising customer expectations have pressured company executives to speed up innovation.

Companies that have been heavily dependent on mature applications in production for years are currently focusing on application modernization. This blog will explore the ideal timing for modernization, the key challenges involved and the significant advantages of partnering with a software development partner for application modernization.

Technical debt, costs and customer demands

While regular maintenance typically involves addressing technical debt, implementing new technologies and frequently refactoring, the primary focus is often on quickly developing new features and fixing bugs. To remain competitive, businesses are constantly pressured to introduce new functionalities, which often takes precedence over improving the application's maintainability. As a result, technical debt accumulates over time, ultimately elevating the importance of application modernization.

image 7

Companies often engage in discussions, planning and even pilot projects regarding application modernization. However, the actual initiation of the project is often delayed due to perceived risks and high costs. Modernization projects may only receive approval if there is a clear demonstration of business value and return on investment.

The turning point typically occurs when the legacy application burdens the company. Customers demand new features that cannot be developed using outdated architecture or technologies, or the implementation process becomes excessively time-consuming and costly. The spaghetti architecture becomes increasingly challenging to maintain, with each bug fix potentially introducing new issues. Moreover, finding software engineers willing to work with outdated technologies is becoming increasingly difficult, resulting in a shortage of experts.

image 8

These factors, among others, lead companies to seriously consider modernization. However, the primary trigger for initiating a modernization project is when sales begin to encounter difficulties in attracting new customers due to the outdated application's inability to meet their demands.

Replacement with an off-the-shelf application

In this scenario, the company opts to implement a new off-the-shelf application. Following a request for proposal (RFP) and evaluation process, the best-suited application is selected, and a multiyear implementation project is initiated.

However, during the transition period, the legacy application still requires maintenance alongside implementing the new application. Given the company's limited internal resources, it is logical to allocate its internal teams to focus on the new application implementation project while entrusting the responsibility of maintaining the legacy application to a software development partner. This approach ensures that the company retains internal knowledge and expertise about the new application while efficiently managing the ongoing maintenance of the legacy system.

When selecting a software development partner, it is crucial to consider their technical skills related to the legacy application and their understanding of the customer's business domain and application's business logic. Additionally, the quality of documentation the customer provides is a significant factor. Documentation may be lacking, requiring the outsourced team to possess extensive experience in the business domain to comprehend critical aspects of the application's logic by examining the code.

Furthermore, if the application is considered core and critical to the business, it's essential to ensure that the software development partner possesses solid references and proven track record in developing and maintaining applications with stringent service level agreements (SLAs), short response times and round-the-clock coverage (24/7).

During the legacy application maintenance phase, bug fixes and the development of new features are essential tasks. However, it's important to note that implementing new features in both the legacy and new applications simultaneously will result in increased costs. To mitigate this, it is advisable to minimize new feature requirements until the new application is deployed and operational.

In addition to selecting the right software development partner, proper planning for partner onboarding is crucial. This includes preparing application documentation, providing training and knowledge transfer to the partner, and establishing a transition period of approximately 3-6 months. During this period, the partner maintains the legacy application with the support of the experienced customer's team which possesses deep business and technical knowledge of the application. After the transition period, the partner is expected to maintain the application alone, and the customer’s team can focus entirely on the new application implementation.

Replacement with a new custom-developed application

image 9

In this scenario, the company chooses to develop a new application utilizing modern technologies and architecture. This new application, potentially built on cloud and microservices, will be created from scratch while simultaneously maintaining the legacy application. As the development, testing and deployment of the new application will take several years, it becomes necessary to implement all new features in both new and legacy applications, resulting in increased costs.

Therefore, new feature requirements should be minimized until the new application goes into production. This category of application modernization is also an excellent use case to introduce an external partner. Since the company has limited development resources, they need an external partner to support them in the parallel development of new application and maintenance of legacy application.

Although having some business understanding is still necessary for a software development partner, it may not be as vital as it is in circumstances where an off-the-shelf product is used. This is because the ideal strategy in this scenario is to capitalize on both company's strengths and experience. They may combine their strengths and knowledge to get the best possible results.

The customer possesses valuable business knowledge acquired over years of developing the legacy application, while their familiarity with new technologies may be limited due to lack of experience with it.

On the other hand, the software development partner has considerable expertise in new technologies thanks to working with them often. However, they may need a thorough knowledge of the legacy application's business context because they were not engaged in its creation. The partner's experience in new technologies may supplement the customer's business knowledge, providing a collaborative atmosphere that enhances the potential for success.

A two-team approach can be implemented to leverage the advantages of both the customer and the software development partner. One team focuses on developing a new application, while the other team is responsible for maintaining the legacy application. Both teams operate independently and in parallel during the modernization project, with team members from the customer and the software development partner working together.

A software development partner is needed in the legacy team maintenance to acquire business knowledge and in the new application development team to bring knowledge of new technologies. The customer's team members are necessary for legacy team maintenance because they have the business knowledge and the new application development team to learn new technologies and specifics of a new application to continue maintaining and developing a new application without external partner after it is put into production.

By adopting this mixed-team approach, the project can benefit from the combined strengths and knowledge of the customer and the software development partner, leading to the best possible outcomes in the application modernization process.

Conclusion

The importance of timely application modernization must be considered as delaying the process can lead to increased risks and costs. Staying with a legacy application for too long can pose significant risks that may jeopardize the company's survival. However, due to counterintuitive factors, the decision to initiate modernization and allocate the necessary budget can take time.

Initially, companies may not feel the immediate pressure for modernization, especially when their business is still successful. While some customers may complain, new customers are still being acquired, and the financial results are satisfactory. In such cases, it may seem that the motivation to invest in modernization might be more apparent.

But this is the right time for the application modernization project to start because the company has the money and expertise to do it. A lot of companies do not start the project at this point because they are not under big pressure and they wait until there is no other way.

Unfortunately, when the company realizes the urgent need for modernization, it is often too late. They begin to experience customer attrition, declining financial performance and the loss of key personnel, leading to a lack of expertise. It is too late to initiate modernization at this critical stage because the company needs more money and expertise. In such instances, even if they commence the modernization project, it is frequently left unfinished. Consequently, customer losses persist, and the company risks going out of business.

Recognizing the importance of proactive application modernization and seizing the opportunity when the company is still in a favourable position is crucial to avoiding the detrimental consequences of delayed action.

Expertise you can benefit from

Serengeti has been involved in many successful application modernization projects, and we have valuable experience in reducing risk and controlling the cost of modernization. Some of those projects were very large and complex 4-5 years projects, like the modernization of the core banking system for one regional European bank. Our experience covers both categories: replacing the customer's legacy application with a new off-the-shelf application and replacing the legacy application with a new custom-developed one. Upgrade your legacy system with our expert application modernization services.

Let's do business

The project was co-financed by the European Union from the European Regional Development Fund. The content of the site is the sole responsibility of Serengeti ltd.
cross