We helped our client to migrate a huge desktop Delphi app that has around 1600 functions and 3200 modules to the .NET web
-
Industry
IT
-
Project type
Desktop
Description
Our client is a global enterprise contact center solution provider, delivering edge customer experience and workforce engagement software. They turned to us as they wanted our team to help them migrate their desktop software to the cloud in order to make it accessible on a variety of devices through the web.
Though the task didn’t seem difficult for us, together with the client we previewed the common risks associated with software reengineering projects caused by re-platforming old software to the cloud.
We need to make the app available on a wide variety of devices so we decided to move it to the web.
We build custom software but our in-house developers don’t have enough expertise in software migration projects.
Project Team size
- Business Analyst
- Project Manager
- 2 Delphi Developer
- 2 .NET Developer
- QA specialist
- UX/UI designer
Solutions
The first pitfall we faced was the size of the software which turned out really big. It had 3200 modules and 1600 functions. It became obvious that testing them all manually after migration didn’t seem to be a feasible task. That’s why we developed custom software to organize the automated QA testing process. Unit testing was fully performed automatically. It presupposed comparing the requests and responses of the Delphi version with the new .NET version.
Given the complexity of the software architecture, we paid a lot of attention to such stages as Initial Business analysis and the development of a project migration plan.
defined the list of methods and models;
described REST API using a web tool, exporting it to the Swagger file;
generated the .NET/C# project from the Swagger file, and ensured the connection to a database.
And only after that, we could proceed to other sprints that presupposed conducting the step-by-step migration process with some sub-projects being migrated and tested in parallel.
Technologies
- used in the project
- Object Pascal
- C#
- RAD Studio
- Microsoft Azure SQL Database
- ASP.NET Core
- Microsoft Azure
Outcome
After the migration, the app became available through the web, i.e. employees can now work on a wide variety of devices.
The app maintenance costs are expected to decrease.
Application support and adding new features will become possible for in-house cloud developers.