Product Migration: from legacy to DWKit

Dmitry Melnikov
Apr 11 · 4 min read

It all started with looking for perfect solutions that could be integrated with the legacy system we were dealing with. After we successfully launched Workflow Engine, it became clear that we were going to need another product which would allow us to modernize our existing project. Unfortunately none of the solutions available at that time could answer our prayers. Though our requirements were simple enough: whole project should be built in one IDE (Visual Studio or JetBrains Rider) with search engine and intelliSense, it must be user-, Git- and FDD-friendly with full comprehensible documentation and technology stack, with front-end and back-end separated, supporting multiple databases (MS SQL, PostGres, Oracle).

That was when we built DWKit and tested it on a banking system we were working with. Technically speaking, DWKit is a FormBuilder + Workflow + Security + Data Layer. It allows you to build your project from A to Z in one solution, its Front-end is based on React, it is Git- and FDD-friendly and it supports Business Flow. Plus some very nice and useful features were added, such as extension fields, event models and custom forms.

All we had to do was to migrate the app to DWKit. Our plan went as follows:

1) Step 1. Preparation

We decided to choose the simplest role in the system. In our case it was a Manager whose job was to approve spendings within his department. It was the most popular role in the system (~ 70% of users), with basic functionality. We imported the data model from the database, re-designed the UI and implemented business logic for this segment of the system. Now DWKit was working correctly with the old system database and we were able to connect users to it.

This is what it looked like:

2) Step 2. Testing

So, we connected our first users to the system. The new UI was much more stable, was working much faster and was better than the old one in all respects. But it still took some time for the users to get accustomed to the new version of the system. The old system was functioning along with the new one, and we were observing patiently how little by little users migrated into the new version.

This process took 3 months. We fixed all the bugs that emerged during testing, and finally our client was convinced that the new system is better than the old one and decided it was time for the full migration.

3) Step 3. Main functions replacement

Next we conducted system analysis and selected three main modules of migration: registration of documents, budget planning and closing an accounting period. Only in one instance we had to simultaneously develop a new system and modify the old one, because the client couldn’t wait. In other two cases it was possible to stop development of the migrating modules.

We used Agile methodology and launched new functions in the process of their development and testing. Half the way our client realized that 20% of the legacy system functions were useless and never exploited, and 30% could be significantly simplified. It meant that developing a new system was a wise investment.

4) Step 4. Migration complete

It took us 9 months to replace main functions of the system. The last one to migrate was the accounting control function used by 10 employees. Though there was no documentation available and none of the employees knew how it worked, it was surprisingly the easiest part of the project, due to the fact that all other functions had already migrated to the new system and most employees upgraded to it. It took us 3 months to deal with this function, and migration was finally complete.

5) Step 5. Legacy system decommissioning

Legacy system functioned for 6 months more, as the most conservative employees were still using it from time to time, but the occasions became so rare, that it was eventually deactivated.

All in all, DWKit turned out to be a brilliant platform that will help you bridge the gap between businesses and developers so that both sides could reach their end goals smoother and faster. It allows you to model complex business processes and handle complex business scenarios easily, using your current IT infrastructure. It allows you to make, test, finish, and launch your applications and models in weeks! Your developers can work together on code and separate their tasks through branches and then combine their efforts in one release.

DWKit is unique: it is the most technologically advanced and efficient solution of its kind in the market! Would you like to try it?

Dmitry Melnikov

Written by

CEO of optimajet.com, dwkit.com, workflowengine.io.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade