June 09, 2020 - 2827 views|
True application modernization goes beyond cloud hosting and microservices architectures. Don't overlook these other essentials.
As pandemic lockdowns ease, companies are racing to modernize applications ahead of new waves of COVID-19 infections that could send developers home to work again. When application modernization is combined with the cloud, developers can work in “virtual teams” – at home or the office – to rapidly deliver quality software that meets evolving customer desires and business needs.
To achieve application modernization quickly, it’s important to get the formula right. A mistake I see is equating “application modernization” with “cloud hosting and microservices architectures.” That’s true only to the extent that “wardrobe” equals “shoes and socks” – it’s just part of the answer.
A Cautionary Tale
To illustrate the hazards of taking a narrow view of application modernization – including key processes and techniques – I’ll share the story of a company that wanted to modernize a 20-year-old monolithic financial compliance application. The application could not scale to meet a growing transaction-processing load, and creating multiple instances wasn’t an option because of data consistency issues. Code releases were painful and lengthy; even though teams followed the Agile Scrum framework, it took months to release a new feature or patch.
Before I came onboard, the team had already concluded they needed to rewrite the application using a microservices architecture – a good decision. In monolithic applications, components are intertwined, meaning that changes in one component can affect others, requiring extensive regression testing that can delay new feature introduction by months.
In microservices-based applications, in contrast, the code for a particular feature is bounded to a specific domain and doesn’t affect other domains. This reduces the scope of regression testing, enabling teams to deliver new features in weeks or days, even hours or minutes. Microservices architectures also support on-demand horizontal scaling – the driver for modernizing the financial compliance application.
The People and Process Elements of Application Modernization
When I joined the project, the team had started the microservices journey but was still struggling to deliver tangible business value. We put the project on track to deliver business value by implementing the other essentials of application modernization the company had overlooked:
Focus on the 'Why,' Not the 'What'
Staying flexible in a post-COVID-19 world will require picking up the pace of application modernization. As you go forward, resist getting mired in the “what” (cloud, microservices and DevOps) and focus instead on the “why:” rapidly delivering quality code to meet changing customer desires and business needs. The journey will require adjustments along the way, but keeping your eye on the destination will help you get there more quickly.
See our COVID-19 resources page for additional insights and updates.