Should we follow new technology trends and rewrite our existing systems?

5 May 2021
Complete Guide for CTO & IT Directors
Microservices under X-Ray Three books image Download free ebook

The lifetimes of custom business systems seem to be getting shorter. One reason for this is the rapidly evolving technology world, which gives frequent new opportunities for business development. The decision to create a new system is often driven by limitations of an existing system that negatively affect or threaten a business’s growth. This is especially the case when competitors have already developed new technologies.

There are also cases when the decision to change an existing system is dictated only by technology trends. For example, if an existing system is based on the web services architecture, it may be rewritten to a more popular microservice architecture with a newer platform and better frameworks. Usually, such a decision would be influenced by non-functional requirements like improved performance, increased frequency and flexibility of releases, and reduced runtime errors.


Is it worth rewriting an existing system in this example? Let’s analyze it based on the tangible criteria.


ROI


Building a new system is a huge undertaking that requires resources and many months of commitment. In the example above, the cost of resources and the cost of shifting resources from other projects are disproportionately high compared with profits. Additionally, if the new system is built only on technical requirements, it may not be able to address new business challenges without substantial efforts. This could result in a considerable loss.


ROI


Building a new system is a huge undertaking that requires resources and many months of commitment. In the example above, the cost of resources and the cost of shifting resources from other projects are disproportionately high compared with profits. Additionally, if the new system is built only on technical requirements, it may not be able to address new business challenges without substantial efforts. This could result in a considerable loss.


ROI


Building a new system is a huge undertaking that requires resources and many months of commitment. In the example above, the cost of resources and the cost of shifting resources from other projects are disproportionately high compared with profits. Additionally, if the new system is built only on technical requirements, it may not be able to address new business challenges without substantial efforts. This could result in a considerable loss.


In summary, it is typically not worth rewriting an existing system based on requirements driven only by technology trends. Low ROI results in such projects being low priority and high risk. But what if a system has performance issues, scalability issues, or other non-functional requirements?


First, all requirements should be added to the backlog and an initial analysis should be performed to determine the cost of a possible solution, ROI, and priority compared to other backlog items. In some cases, the full scope of non-functional requirements cannot be determined. For example, fixing a highly visible performance issue often reveals another one. Performance should be improved on an ongoing basis; tasks should be added to the backlog based on results of a completed optimization in a previous iteration. With this approach, the tasks can be executed by dedicating 20% of the team’s time (velocity).


So – when is it worth rewriting an existing system?


It is worth creating a new system if key business requirements cannot be implemented in the current system, or if the old technology significantly increases the cost and/or time of implementing the requirements. It is important to gather the key business requirements to make good design decisions, such as choosing the architecture, technologies, and platform. However, it is essential not to invest too much in a project whose lifetime will likely be shorter than expected.

In conclusion, we would like to share a summary of the approach we took to help a client who planned to rewrite a critical business system to address performance issues. The project goal was to improve performance by rewriting the system using the newest technology stack. Fortunately, we were aware of this plan because the client was going to involve our consultants in the project. Instead of starting the new project, we convinced the client to take a different approach. We helped resolve the performance problems by going through cycles of analysis/investigation, development/performance fix, and release that were aligned with the current system development Scrum interactions. Finally, we improved the system performance by 40%, which was almost what the client aimed to achieve in the planned rewrite project. Due to this improvement, the client had time to analyze the business requirements for the future system, make intelligent design decisions, and beat their competition.

Author

Michał Olędzki

IT-focused Business Development Manager at NG Logic

Latest Posts
invision vs figma

InVision vs. Figma: Key Features, Differences, and Similarities.

Figma and InVision rank among the best UI design tools. Learn about their key features and how they can speed up front-end development. It’s hard to overstate the importance of UI design in web and mobile development. To be successful a digital product needs to be an eye-pleaser and a UX gem, in addition to […]

/
flutter language logo

Flutter: the number one framework for building cross-platform apps

Flutter is an SDK for building fast apps for different platforms. It comes with comprehensive development tools and streamlines designing high-performance UIs. Find out why Flutter is a top-quality and cost-effective alternative to native app development. Flutter is Google’s open-source toolkit for developing high-fidelity cross-platform applications. It allows you to create native software for Android […]

/
django hosting

Hosting for Django? Here’s what you need to know.

Django is a robust web framework for Python that enables programmers to swiftly build web apps. But once you’ve built your application, the next step is to get it online and available to the world. That’s where hosting comes in. In this article, we will explore the various options available for hosting Django applications. Types […]

/
front end technologies

Top-ranking front-end technologies. Best tools to speed up UI development in 2023

Flawless UI is a must if your app is headed for success. Designing a high-quality front-end can be costly and time-consuming, but not so much if you’re able to choose the right toolset for your product. Find out the best front-end development options to consider in 2023. Back-end powers the functionality of the system, while […]

/
nodejs books

Top 7 Node.js Books for Both Beginner and Professional Developers

Looking to advance your expertise in Node.js? If you’re tired of chaotic online resources, try good old-fashioned books. They will provide you with structured knowledge and give you a clear understanding of even the most complex programming concepts. Node.js is an asynchronous, event-driven, backend JavaScript runtime designed to develop scalable network applications. As a cross-platform […]

/
AR in fashion

AR in Fashion. Key Benefits and Real Use Cases

AR technology has already taken root in many industries. One of them is fashion. Clothing, beauty, and retail brands have long been leveraging AR solutions to attract customers and boost sales. According to recent estimates, the number of mobile augmented reality (AR) users worldwide will reach 1.7 billion by 2024 – a huge rise from […]

/
Related posts

9 Most Common Mistakes when Migrating from Monolith to Microservices

With the microservices architecture gaining a lot of traction in the software world, more and more companies are migrating from their existing monolith to microservices architecture. Typically, this is a wise move, but great care needs to be taken in order to complete this process successfully. Below, we have gathered the nine most common issues […]

/

Should we follow new technology trends and rewrite our existing systems?

The lifetimes of custom business systems seem to be getting shorter. One reason for this is the rapidly evolving technology world, which gives frequent new opportunities for business development. The decision to create a new system is often driven by limitations of an existing system that negatively affect or threaten a business’s growth. This is […]

/
Talk with experts

We look forward to hearing from you to start expanding your business together.

Email icon [email protected] Phone icon +1 (888) 413 3806