We helped our client to migrate their software to an up-to-date Delphi version

IT industry |
Civic Tech
(provider of
for municipalities)

It takes us really a lot of time to introduce even the smallest changes to our software written in Delphi 5.

Our employees complain that the app works too slowly.

We need to get professional help in making a decision on whether we should migrate our software to an up-to-date Delphi version or develop a software solution from scratch using another technology.

Over 20
year-old code
months of work
800 000+
lines of code
forms & frames
Project manager
Business analyst
3 Delphi developers
QA engineer
Programming languages
Delphi (Object Pascal)
Delphi 10.3
Firebird 2.x
LMD Tools, Quick Report, tsiLanguage
3rd party components
DevExpress, TMS

The client that we worked with is a vendor of software for municipalities (Civic Tech solutions). Thanks to this software, social authorities can create law enforcement practice records and track whether people receive the necessary allowances.

The software was developed many years ago. That’s why there were a lot of risks and challenges related to its support and updating. The management had to make a decision on whether they should migrate the software to an up-to-date Delphi version or develop a software solution from scratch using another technology. They contacted us with a request to conduct a business analysis and come to a final decision as well as to execute re-engineering in order to make it easier to maintain the existing code.


Our work started with a deep analysis of the ongoing state of the software. Our team chose an option to migrate the app. We created a migration roadmap and a detailed plan of action. 

Nearly 85% of the old could be re-used without any issues, but we had to re-write another 15%. It turned out that small parts of code in the latest Delphi version were combined in a different way and obsolete components were used. We also conducted re-engineering of separate modules as well as code refactoring. As a result, it became easier to maintain code, the number of bugs decreased, and the app began to work more stably.

After that, we divided the project into subprojects in order to optimize the entire process of migration:

  • Preparation of module tests
  • Component migration
  • Migration of the app’s core logic 
  • Preparation of test examples
  • QA testing

Thanks to this approach we could migrate the key software and its components in parallel.


We successfully conducted the migration. Now the in-house development team of our client can easily and quickly introduce the necessary changes.

Our team managed to achieve the compilation and stable functioning of a 64-bit app version. Thanks to this, some features of the app began to work faster.

After the migration, the software started to work uninterruptedly and efficiently.

Talk to us and get your project moving
Book a free consultation with a solution expert
This field is required
Company web site
This field is required
Phone Number
This field is required

Subscribe to our newsletter and get amazing content right in your inbox.

You can unsubscribe from the newsletter at any time

This field is required
This field is required Invalid email address

You're almost there...

A confirmation was sent to your email

confirm your subscription, make sure to check
your promotions/spam folder