Are you sure that by the end of 2020 your cloud or data server app will still be fully functional and available to users?
And if it won’t do it, can you only imagine what it may mean for your business?
To migrate or not to migrate. That’s the question for many but not for us.
We are absolutely confident that if you want to ensure your excellent business performance without any losses caused by out-of-date apps you need to take care of the versions of software that you use. We want you to understand that legacy Delphi projects (especially those written with Delphi 5 or 7) may lead not only to serious technical issues, they may also put your entire business and its reputation at risk. And these are not bold words. To prove it, we’d like to share with you real cases from our practice.
Case 1. Viability of your app
Can you be confident that tomorrow your clients will be able to use all the functionality of your app?
As you know these days the Windows team is actively working on security issues. Each new version and update brings new approaches to security, especially when it comes to the privacy of encrypting data transfer protocols. There is a chance that in the nearest future Windows will release a new update that will require serious actions from your side to keep your app functioning. It may happen so that you will have nothing to do but to implement the newest OpenSSL 1.1 version with TLS 1.3 to your application. And just believe us, if your app was built with Delphi 5 or 7, it will be a real challenge. And, moreover, it is a quite time-consuming process. For instance: You network communication components (e.g. Indy) won’t have support of TLS 1.3 and you should spend time implementing new components – it means you will go through all development and testing processes from scratch. Also there can be an issue with adding the same support for your server-side applications and code. So, you may just fail to meet the deadline set by Microsoft. Yes, we can suppose that Microsoft may allow its existing clients to use the previous Windows versions without updates.
But let’s not forget about your possible reputational risks. If you ignore the modern data security requirements, it means that you do not care much about the data of your own clients which is now under threat. As a result, your clients may pay attention to the software provided by other businesses.
What may happen next?
We believe that you have already guessed. The sales may drop, as well as the number of new and existing clients. And of course, it is not something that you want to happen.
Case 2. Competitive advantage.
There is one more example.
Even if we are not talking about issues with security, we always should remember that the modern software market has its own tendencies and requirements. And today more and more software users want to have apps that support 64-bit architecture. But apps developed with old versions of Delphi can’t offer it. If your application supports 32-bit architecture only, you may face a negative reaction from your clients. Of course, clients may just decide that if you have such an “ancient” software, you are not an appropriate business partner for them even if your software in general perfectly satisfies their requirements.
We all should understand that today the competition on the market is extremely high and we have only one chance to make the first impression. We should be ready to meet all the needs of the clients. As we work closely with legacy software we know that it is a common situation these days when clients require 64-bit support and companies start losing important contracts just because their apps do not correspond to the modern standards. In such a case you will have the only choice – to migrate your software urgently if you do not want to lose important contracts and to drop out of the market competition.
Last year a German company that manufactures electronic devices turned to our migration services after they had lost a $1.5 million deal. The technical experts from the side of the potential partner had a rather biased approach towards the product. They believed it was not “modern” enough due to the lack of 64-bit support.
Of course, we can only imagine what consequences for the company’s business such a situation may have. The word of mouth works perfectly and you have only one reputation, so you should do your best not to spoil it.
You may say that it is just a single case. But do you think that it is a risk that is worth taking?
Case 3. Regular customization
The next example is applicable to those cases when the software requires regular custom-tailored upgrades for your clients.
All the upgrades and updates should be introduced quickly and efficiently. And of course, they should satisfy the modern requirements of security, productivity, and architecture. If you recognize your situation in this short description, you definitely know the pain related to the efficiency of these upgrades.
The support of the legacy code is a quite challenging task. Some months ago we got an inquiry from the U.S.-based retail market agency. The company was using the software that had been developed 12 years ago. The functionality was quite satisfactory and within all these years the in-house tech expert was able to introduce the necessary updates. But when this specialist decided to leave the company, the problems began. The agency just couldn’t find a person who had appropriate knowledge and skills to work with that legacy code.
The older your legacy code is, the lower are the chances that you have in your team the same experts who wrote it. For instance: You can use obsolete components without support and source code – you just cannot fix the errors easily. Some component vendors can even not exist and in case of some improvement requests from your customers you won’t be able to add improvements quickly. Also, legacy code usually was written without OOP best practices and principles, programming language could be obsolete and you will spend more time for writing the code because of code duplication, spaghetti-code and so on.
Not all specialists today are good at working with an old code that was written 15 years ago. Why? – Because modern programming languages notices (including modern Object Pascal version) have a lot of improvements. For many developers it will be a big psychological problem to take a step back, especially for young and talented developers. If you turn to third-side experts to work with your legacy code (at Softacom, we offer such services as well), you should know that the maintenance of old software is more expensive than in the cases when we have a fresher code. Why? – Because legacy code can be not compatible with modern communication standards and we will need to search alternative solutions, search components for legacy versions, which maybe don’t exist at all or rewrite everything from scratch.
Case 4. Right impression
However, let us remind you that your software, your applications (especially if we are talking about those ones that you provide to your clients) is the face of your company. Though we all know that we shouldn’t judge a book by its cover, we always do it when it comes to software products: we pay special attention to how an app looks and feels. And of course, you know that an app that was built 15 years ago can’t look up-to-date. Many new features that users today are accustomed to are unavailable for those who use old versions of Delphi. And to meet their expectations you have nothing to do but to conduct the migration sooner or later.
Just as an example we can recollect our client from Denmark. It was a company that develops software for the retail industry. The company turned to us for a recommendation about what they should do with their software in order to retain clients. It happened so that the rates of client base growth had been slowing over the years and, moreover, clients had started to quit the collaboration. One of the reasons that was detected was the fact that the app really differed from those offered by other vendors these days. And it was absolutely impossible to realize the desired enhancement without migration. As soon as the legacy software was migrated to the newer Delphi version, we got a much wider range of opportunities for further improvements, i.e. modern interface and UI, easy social networks integration, cloud integration and so on. Yes, it took some time and it required investments. In this case we needed 18 months to migrate the client’s software from Delphi 5 to Delphi 10. And it cost around $40k. But these investments are not so frightening if compared with the losses that this company had due to the fall of direct sales (at least $150k according to the most conservative estimates) and due to the falling number of existing and new clients.
The analysis conducted shows that the investments have fully paid off in 12 months. Within the same period, the customer retention rate grew to 97% from 65% while sales jumped by 20%.
Case 5. Paralyzed business
If due to the technical issues your software becomes inaccessible for at least a couple of days, can you only suppose what may happen to your business? Such a nightmare happened to our another client from the U.S. It was the company that produces medical devices. Their internal app was built with Delphi 7 and for many years it used to function without any problems. However, the company’s tech specialists didn’t pay attention to the fact that their software interacted with external APIs and one day it could turn out that an updated version of the API would not be supported any more. But it happened. As a result, it was not possible to use the app. The client turned to us to improve the situation. Of course, it was an urgent case and we tried to do our best but for 3 business days the business was paralyzed. Our main task was to bring an app back to life. After it was done, we proceeded to a comprehensive step-by-step migration.
As you see, the situation in general was completely unpleasant. But you will have nothing to worry about if you are ready to take preventive measures in time.
Do you need a migration?
If you are considering a possibility of migration now, let us help you to make a decision. Here’s a short questionnaire for you:
- Do you want to be sure that your business processes will be going on without interruptions?
If the migration is carefully planned and integrated into your business plan, it won’t stop your business activities. Can you imagine that unless some important updates are performed timely your ongoing processes can be fully paralyzed for an indefinite period of time?
- Do you want to plan your budget and avoid unexpected expenses?
Yes, like any other technical procedure, migration requires some investments. But if you carefully plan the migration and budget allocated for it, you will have an opportunity to avoid a great part of expenses that you will have to bear in case of troubles caused by the usage of legacy software.
- Do you want to retain your clients and attract new ones?
If your clients notice that your software does not offer a full range of features available in the apps of your rivals, don’t you think that they may start looking for another software provider?
- Do you care about your corporate reputation?
Do you agree that it’s better to conduct all the migrations on a pre-planned basis than urgently when your business is at risk? If urgent migration or some issues related to old software stop your business, be ready that you will need to work hard to restore your reputation.
If you have answered “yes” to all the questions above, the necessity to think about migration is obvious.
What you should know about migration
It’s clear that, like any other technical procedure, migration requires some investments. The average cost of legacy software migration from Delphi 5/7 to Delphi 10 is around $15k-$50k. As for time needed, the entire process usually takes 4-10 months. In case you want to migrate Delphi software to another technology, the figures will be different. Such migration may cost $80k-$250k and may take from 1.5 to 3 years.
But regardless of the chosen variant, if you carefully plan the migration and budget allocated for it, you will have an opportunity to avoid a great part of expenses that you will have to bear in case of troubles caused by the usage of legacy software. At Softacom we developed our own migration framework, which allows each project to go through a detailed plan and roadmap, analysis of pros and cons, risk management of migration – all these steps will save development time and will make migration more efficient.
The main thing that we’d like you to understand is that some technical problems are just the tip of the iceberg. The real problems of using old software are much deeper and they touch the most vulnerable aspect of any business – the company’s reputation.
You have been building it for years, why should you put it at risk right now?
Do you still have doubts or need more arguments? Or maybe you have already decided that migration can be the right solution for you? Do not hesitate to contact and get answers to all your questions. We are here to help your business thrive.