Our experience with various legacy modernisation projects across the Ministry of Justice, DWP and others has allowed us to assist numerous departments in updating and modernising legacy tech/services. We have helped companies update outdated applications, move them to the cloud and simply improve the underlying code. Although each situation is unique, we have noticed certain similarities present in most legacy software migration efforts. Here are four observations we have made:
1 The cost of transition
This can be thought of like the cost of moving to a new apartment - even if you find a no-fee place, there is still a cost involved in physically moving your belongings. In software development, the transition cost is typically around 10-20% of the first month's work. This includes activities such as becoming familiar with the codebase, setting up the new development environment and aligning with the team on priorities and workflow. It's important to consider this transition cost and determine whether the return on investment is worth it.
2 Problems will not go away overnight
Imagine you are a doctor in the emergency room when a patient arrives with a critical condition. You must quickly assess the situation and take action to stabilise the patient. You focus on the most pressing issue, which is often the heart, as it is the foundation for all other systems. As you work to stabilise the heart, you may become aware of other problems that need to be addressed, but you must prioritise and tackle the most pressing issues first.
Improving legacy code can be like performing surgery in the emergency room - you need to prioritise and address the most pressing issues first. Even if you have a skilled team working on the project, there may be other issues that arise during the process. It's important to have a trusted partner to guide you through this process.
3 Assessing the quality of the existing code is a critical
It can be tempting to jump right in and start coding, but it's important to take the time to understand the codebase first. This can be done through a quick assessment to get a general sense of the code, or a more detailed analysis. By understanding the current state of the code, you can make informed decisions about what needs to be migrated and what can be left behind.
There are 2 methods to assess legacy code:
4 It's important to have a plan in place
You need a plan to maintain the code once it has been migrated. This can involve regular code reviews, testing and monitoring to ensure that the code remains stable and effective.
In summary, modernising or migrating legacy codebases is a complex process that requires careful planning and execution. By considering the cost of transition, being prepared for ongoing issues, thoroughly assessing the existing code, and having a plan for maintenance, tech teams can successfully navigate the challenges of "code rescue" missions.
If you are looking for legacy migration services or want to learn how this can benefit your business, contact us.