If you are considering to modernize your legacy business application, you must need to know some of the most common challenges that you will be facing and be prepared for it. It is not necessarily true that you might face all of the below challenges, but based on our high experience, we are sharing some of the top and the most common challenges.
You are reading an article which is part of the blog series on Legacy Application Modernization:
- Part 1 - What is application modernization
- Part-2: The Top 5 reasons why you should consiler application modernization
- Part 3 - 5 Key challenges when modernize your legacy business app
- Part 4 - 4 Steps to Preparing for the legacy software application modernization
The knowledge of legacy business application is critical in building the process of modernization. Generally, it comes from the documents that are prepared while building the software and the team that has built it. But, most of the time, the documents are not available at all, not relevant or deprecated and not useful. The technology stack, third-party tools, frameworks, library or integrations that are no longer relevant.
We at Facile Technolab have been into such situation. The best approach to understand technical specifications of the legacy system is to prepare minimal high impact documentation like flow charts, mind-maps and brief notes on each area that we review. Functional requirements are documented in brief notes through user interviews and meetings.
Lack of knowledge leads to the risk of incorrect or inefficient implementation of the features during the modernization process. In order to prevent that, keep sharing the documentation, establish close communication and ensure the business team is involved closely in the decision making.
2. Quality Assurance
When existing system is working well but with limited knowledge in the team on the way it operates makes it difficult for quality assurance team to get involved. It will be challenging for the quality assurance team to understand the existing system and come up with most important test scenarios and test cases that will ensure the quality of the proposed system is up to the mark.
At Facile Technolab, we use continues delivery techniques and periodically release smaller iterations of the software version that stables the previously released features and adds new features. Instead of allowing users to wait till the end of user acceptance, we involve them on monthly basis to ensure the modernized software is hitting the business goals as well as technical functional and non-functional requirements.
3. Data Migration
As a business the historical data is critical to you and you would not like keep all the data in same or better state when switching to modern business app. This becomes challenging as we need to know how existing system is capturing using that data in order to properly migrate them in the modern system.
Our strategy is to use tools like Microsoft SSIS, Azure Datalake or similar tools and include data migration as part of the sprint and release software for end user along with migrated data. This will bring in confidence and reduce risk at the end of the project.
4. Switching over and impact
Depending upon the strategy or appraoch that is decided, it might be possible that we are maintaining and supporting legacy business application and modern application at the same time while switch over of the most critical aspects of the business application are being modernized. In many cases, the full switch-over from the old system to new system happens. In any case, the team involved in the modernization plays critical role in user-training, application-support and ensuring most critical business processes are not impacted due to this.
5. Modernization Cost
Due to limited existing application knowledge, it is likely to discover unexpected dependencies and integrations that introduces additional work making the application modernization software projects over run the budget.
Legacy application modernization is a complex and challenging process. While, it is not possible to plan for all kind of challenges, it is good to know some of the common ones that we have gone through above.