1. Big Bang deployment
Let’s imagine your outdated software in use is an airplane in flight. Will you change a vital part of it right in the sky? We’re pretty sure this isn’t the greatest idea.
Because they’re aiming to get benefits from the modernized application as soon as possible, many companies immediately replace an old system with a new one and … watch it crash and burn. That’s why we suggest that clients keep the old system and run a new one in parallel until it is fully debugged and adjusted. Only when the relevance of the new app is proved during trials should you fully migrate to it. Furthermore, the Strangler Pattern Approach even allows you to build a new system around an existing one and incrementally migrate functionality.
“We were lucky that we started the rebuild process early, before we faced a crisis with the existing platform. This meant we were able to rely on the existing product while developing the new one. It gave us time to prove what could be built using the new technologies, rather than having to demonstrate immediate returns. It allowed us to put off migration and integration questions. It gave us the ability to test and compare the new systems and validate the improvements we were seeking.”MATT GREEN, PRODUCT MANAGER AT HINDAWI
2. Building the software first and trying to move data afterward
Data is the biggest asset of any legacy application, and usually the necessity to save data is the primary argument for modernization instead of replacing. The research by McKinsey Global Institute highlights that data-driven companies are 23 times more likely to get customers, six times more likely to retain them, and 19 times more profitable. Inspiring statistics, don’t you think?
However, sometimes companies overlook this factor and build software first, then try to squeeze data into the new app when it is ready. Such an approach frequently leads to a huge data conversion mess, so there is a risk of a new software launch failure. To avoid such consequences, it’s better to focus on current data structure while building a new system. Remember, data is a core of the whole system.
3. Removing spare features
Enterprise software usually consists of a few distinct apps with a great number of little features, so it is very unlikely one individual stakeholder is aware of all of them. Thus, you can assume some of them are not necessary, but don’t hurry to remove spare functionality. While a particular feature may be irrelevant for one department, it easily could be crucial for another. Imagine how unpleasant it would be to discover missing functionality after the modernized system launch.
Of course, rudimentary features arise from time to time, and it is better to eliminate them to decongest the system. However, it doesn’t mean you have to eliminate every feature you assume is not relevant. Consider users first. Think about every employee who uses the application, as its convenience directly influences their productivity.