Understanding the benefits of Incorporating modernisation into an application migration strategy

12 Apr 2022
Codurance Insights

Codurance Insights

See author's bio and posts

There is no one answer to why it’s important to modernise technology as a business, and there isn’t a one size fits all approach when it comes to modernising legacy systems, but there are reasons why it would make sense to think about this approach. 

This article reviews why businesses need to understand the benefits of modernising their software when thinking about application migration, and reviewing the benefits in moving forward with modern technology. 

Modernisation isn’t another buzzword. It’s a strategy that can help ensure businesses are performing at the top of their marketplace. Allowing them to keep up with trends and respond to customer demands quickly. If we consider a business such as Cazoo, they have been able to completely disrupt the used car market in the UK. Yes, a big part of that is the service offering but at the very core of that is a technology strategy that has embraced modern engineering approaches and technologies. All of this has catapulted them to becoming the UK's fastest business to achieve unicorn status. Companies that have been selling used cars in the UK for a long time, are now in the position where they are finding themselves having to play catch up to a certain degree. So how can already established businesses keep pace using modern technology? 

Traditionally, technology or "IT" was viewed as a cost centre within a business. However, in this current day and age with technology such an ever present aspect businesses need to be viewing technology as a core enabler. 

There are several indicators that businesses can use to guide them as to whether or not they need to embark on a software modernisation journey. One of the key ones is that their systems become increasingly difficult to change and technology is unable to keep pace with the business. Over time, this translates to increased lead times, which means it takes longer and longer to get changes and new services in the hands of the customer. As a result, this can often lead to failing to keep pace with competitors and ultimately losing market share.

As we know, technology evolves at a rapid pace. Today's technology is able to provide innovative solutions and different approaches to solving problems that just weren't available 10 or so years ago. Take, for example,  financial trading systems. The majority of the systems in use today were actually written some 15 years or so ago if not more. Back then, the web browser was nowhere near as powerful and as feature rich as it was today. As a result, applications were generally built as desktop applications. Again - Cloud Computing hadn't really taken off back then. 

Desktop applications then brought about challenges around deployment, updating and providing access across many geographical locations. 

If we fast forward to the current day, the web browser is now far more mature than ever and we can build some incredibly powerful, feature rich applications in the web browser that are also very performant. Something that just wasn’t possible 15 or so years ago.

Business objectives of modernisation

For businesses to move forward strategically it’s vital to be proactive rather than reactive when it comes to technology. Software systems should be given constant care and attention, and are able to evolve constantly over time inline with the business demands. 

Access to new technology should be taken advantage of. This means that it is important to revise what’s been done previously, even if applications are running fairly well, there may be a better way of doing things, which will unlock potential. This could equate to quicker delivery or better operational capabilities, which would, in turn, give the business better benefits around cost, reliability, security, performance and sustainability. 

However, modernising technology isn’t just about adopting the latest and greatest technologies. It’s vital to understand the needs of the business first and then assess which technologies can best meet them. The first step for any successful modernisation project, is understanding the business objectives and drivers, for example, the reasons to move to the cloud while modernising technology. It all ties back to these business objectives, and what the business is hoping to achieve. The business alignment is vital at this stage, not just something to hope comes together, but something that’s strategic to the business, and achieving the benefits. 

Benefits such as quality, time and cost can be achieved, but are related to the quality of the deliverables. If time isn’t spent focused on setting good and achievable goals, there is a good chance of failure. In fact, nearly three-quarters of organisations (74%) have started a legacy system modernisation project but failed to complete it. But, if your software isn’t able to keep pace with the business, it’s a deterrent. If technology is holding back your organisation it could mean you are not able to scale either in terms of service offerings or even into new markets. It's vital to turn the tables on this and remove technology as a blocker for any organisational growth. Often, the only way forward here is to embark on a Software Modernisation effort.

Impact of modernising on existing business 

When embarking on a Software Modernisation effort, businesses also need to be very mindful of not grinding the current operations to a halt. There has to be some level of ‘keeping the lights on’ - the technology is what’s servicing the business, and making money. The level of modernisation, the level of the approach, needs to relay back to managing the business as usual systems while the business incrementally manages the modernisation. This could be done by highlighting areas of the systems and having a piecemeal approach which would then gradually work its way through modernisation of each part of the system. 

The impact on people and skills of modernisation 

As part of a Software Modernisation effort, Conway's Law is something that should be considered. Back in 1967 Melvin Conway introduced the idea that an Organisation should look to design systems that mirror their own communication structure. This allows for loosely coupled systems. There is also now a lot of research around team composition which suggests that the most successful teams are those that are cross-functional. Ie those that comprise a mix of various skills and disciplines. Ideally individual teams should have all of the skills they need. This allows them to be fully independent and decoupled from other teams. Allowing greater autonomy and ultimately allowing them to move faster. 

If we imagine a business wants to embark on a software modernisation effort involving moving to a MicroServices architecture, then for this to be truly successful the business is going to need to stand up long-lived, cross-functional product teams for each of these MicroServices to own them. For many organisations  this may be a stark contrast to how their teams are modelled currently. Again, as another example, if you have perhaps a Database Administrator (DBA) role within an Organisation, supporting on-premise hosted databases, this role will very likely need to evolve if the Organisation modernises and moves its database estate to a Managed Service, on a Cloud Platform. Routine roles such as database backups, query optimisation etc are now provided by the Managed Service. Many Organisations have evolved such DBA roles to be more Data Science oriented as a result of cloud adoption.

So, as part of any software modernisation effort it is vital to take into account team topologies and also the impact on current role definitions.

Also, understanding how the software will be delivered will help determine roles and responsibilities. Modernisation involves not just adopting newer technologies but also assessing and improving processes. For example, for many Organisations a large part of a Software Modernisation effort involves incorporating more automation and adopting mature engineering patterns like Continuous Integration and Continuous Delivery to ensure a robust, repeatable deployment process for their software. This might, for example, involve replacing a suit of manually executed test cases with automated tests. In which case, the role of those manual testers might evolve

Staff working with on-premise infrastructure, will likely need to be retrained to adopt cloud technologies, which would involve a refreshing of skills, change of organisational structure, and the process for maintainability and understanding the responsibilities this role would take on. Cloud providers can often help make this change, for example, AWS have a responsibility model. This helps detail at what level is the business responsible, to govern and manage the new cloud system. 

Businesses also need to prepare themselves for changes in recruitment and retention. Communities exist for different technologies. Depending on how mature the technology is will help determine the size of the community that exists. If it’s mature, or fast-evolving there will be a lot of chatter around it. There will be people that have the skills and want to work with it. But, if you’re using outdated technology there would be less of a community wanting to work with it, so you’ll struggle to find the demand for recruitment. 

Moving to the cloud and modernising isn’t just about technology. The things the business needs to do are going to be different in the cloud, the automation and other services will change the processes that are adopted. 

When is the right time to modernise? 

As mentioned at the very beginning, there isn’t a one size fits all with modernising technology. The answer to when is the right time depends on the context and the current business appetite to risk, If the business is unable to detail the business drivers, technical vision and roadmap, it might not be the right time. During this stage, if the business needs to move to the cloud quickly, often the option would be to focus on a rehosting migration strategy, also known as a ‘lift and shift’ - it allows the business to begin the process of migrating to the cloud without having the risk appetite to focus modernise in full. These full strategies are detailed in Application Migration Strategies - The 3 R’s. 

In an ideal scenario, businesses evolve gradually, rather than having to modernise - a slight shift on the steering wheel rather than a U-turn. But, as some businesses neglect the technical vision as the technology works as intended for 10/15 years, the right time to modernise, or evolve has passed and the business is seeing the aftermath of not evolving. This could be, for example, bumps in production, or extended lead times, these are indicators of architectural rot over time. If these are the indicators that are highlighting the need to modernise, the optimal time to modernise has passed because the business is experiencing the challenges that are hurting the business. 

The benefits of modernising Vs the challenges of not

The danger of not modernising can be on the market share of a business, and the ability to react as consumers demand. As well as lead time taking longer, team unhappiness, the defect rate of releases - if these rates decline the ability to deliver declines. 

This comes back to how the systems are supported, and the ability to rapidly respond to market changes. If the competitive advantage is slowing down, systems can’t be supported it is possible to end up with legacy systems unsupported by the community, this can create security issues and the business loses the ability to change and meet the demands of your customer. Another challenge would be the unhappiness of the employees, the environment becomes a challenging place to work. 

These challenges can be flipped to understand the benefits of modernising. Businesses can respond to change quickly, allowing them to grow and evolve alongside the business as it adapts into different directions to keep up with consumer demands.

The business experiences better talent, and retention with improved performance, security and reliability. 

The business potential can be unlocked, rather than spending time worrying about technology, the time can be spent on pure business value add. Take for example newer companies, like Cazoo as mentioned above. Business problems and opportunities are responded to faster as the business can focus entirely on their business, rather than worrying about technical debt.