Interview with a developer: Top challenges in working on a Delphi migration project
In this interview, we talked to Maxim Pasukhin, our Delphi developer with 20-year experience in the industry. Maxim has more than 27 successfully conducted migration projects in absolutely different business domains (banking, healthcare, IT, chemical industry, media, etc.). He has certifications in Automated Project Management (Almaty, Kazakhstan, Kazakhstan Institute of Management), Economics and Strategic Research, Oracle Forms Development ( Almaty, Kazakhstan, Oracle University), and Oracle Database Security (Almaty, Kazakhstan, Oracle University).
Maxim has not only outstanding practical skills but also a deep understanding of all the inner project processes. He agreed to share his opinion on the specificity of Delphi migration and the key challenges that developers usually face.
What are the main differences between your approach to software migration and development projects from the perspective of programmers?
Maxim: In my mind, migration projects often require even more serious and time-consuming preparation than the creation of a new solution. Sometimes clients come to us with their products built with Delphi 6 or even older versions of this technology. And they want to quickly fix some issues and continue working with this software. Unfortunately, in the majority of cases, a problem can be much deeper than it can seem. Legacy software doesn’t start bringing problems overnight. And it is impossible to solve all the ongoing issues just immediately.
We always need to deeply study each project, review their code, detect issues, and find the most feasible ways to address them. At our company, we will never offer migration if we see that it can lead to unpredictable results or won’t address the existing pains.
And of course, every migration project is always associated with a close research of a business domain which allows us to understand the current market trends and industry standards.
What do you think about cases when companies do not view migration as a possible solution? Why do some businesses continue using their obsolete software for many years?
Maxim: To my mind, the key reason for such a situation is a lack of awareness. Some people who make decisions at organizations simply do not know about all the benefits of software migration to newer technology versions and concentrate only on the related risks. Of course, migration is a complex process that may lead to the loss of some functionality or incorrect functioning of particular features. It can happen so due to the fact that old components may be not supported by newer technologies or because of some errors on the side of engineers.
But with the right approach, thorough preliminary analysis, and careful testing, it is possible to avoid such consequences. At Softacom, we have built our own solutions for all types of Delphi software migration to newer technology versions. Moreover, we use ready-made frameworks for migrating Delphi software to other platforms. All this helps us not only to increase the quality of our migration services but also to optimize the costs of migration projects and the time needed for their realization.
What is the most serious issue that developers can face when they are working on migration projects?
Maxim: Actually, it may be not the simplest task to name only one issue. All migration projects require a lot of attention, skills, and knowledge from developers as even the smallest mistake can cause serious problems. Very often when companies come to us with the request to migrate their systems, they ask us to make it without pauses and interruptions in system functioning. For their businesses, it is crucial. And I believe that it is the biggest challenge even for the most experienced teams. Even the best preparation ever won’t guarantee risk-free migration. But I should admit that it can significantly minimize these risks and help developers to be ready to cope with the consequences.
What do we usually do to make sure that we are well-prepared for starting the migration? The first task that we have is to get prepared for the deployment of a new system. It is required to detect the time when this process won’t cause any difficulties for clients and employees. Everything should be set beforehand, including the migration process and time frames, the approach to system deployment as well as the time when the old system will be shut down. It is important to have a detailed plan that will also include those cases when something goes wrong.
What are the most likely technical issues with the migration project?
Maxim: The brightest one is that many legacy solutions can’t be tested. Why is it so? Because sometimes the code wasn’t written to be tested. But it is impossible to conduct high-quality migration in such a situation. The best way to achieve the testability of an obsolete solution is to conduct code refactoring which also requires additional time and effort. For us, it is of crucial importance to make it possible to test the solution in accordance with all possible scenarios in order to avoid loss of functionality and other problems.
How long can a migration project last?
Maxim: As well as in software development, we can’t name exact deadlines and costs without analyzing the specificity of projects. In the majority of cases, especially when we are talking about enterprise solutions, it is impossible to conduct migration in one shot. All the improvements and updates will be introduced step-by-step. And it can take months and even years. We need to think about the software architecture, scalability, adaptability, and adequacy of long-term solutions. We do our best to find the most efficient approaches and try to foresee and manage all the risks that can appear in 1, 3, or 5 years.
A good team never blindly follows a technical task, but to find and offer the best solutions. It’s important to be not just contractors, but partners for companies.