Introduction
With technology moving at breakneck speed, it seems like tech obsolescence is always around the corner. This has made application modernization essential for businesses looking to maintain competitiveness and enhance operational efficiency.
To better understand the state of app modernization today, we talked to seasoned experts Rockford Lhotka, Josh Garverick, and Blaize Stewart, who bring a wealth of experience in updating and overhauling software systems. They shared their insights into the whys and hows of modernization.
Insight #1 : Application Modernization Starts from Day One
"Legacy code isn't just old; it's anything that's been deployed," begins Rocky Lhotka. "By the time a project goes into production, especially larger ones built over six months or more, it's already out of date." Additionally, this transition also often introduces new change and maintenance challenges due to the shift in operational dynamics. Lhotka's comment demonstrates the inevitability of application modernization, and more importantly, how it starts - from day one.
Technical debt begins to accumulate as soon as software is operationalized. This is particularly true when developers are rushed (which they often are) to meet business demands without adequate testing or scalability considerations. Josh Garverick adds, "There's a lot of opportunity for tech debt cleanup because shortcuts were taken. In other words, it's the result of prioritizing speedy delivery over perfect code. In the context of modernization, it is usually the result of many years of small choices to "just get it done" rather than taking the time to do it right. It is often the result of choosing not to keep the underlying operating system, frameworks, and tools current." This scenario is common in businesses pressured by the need for quick digital solutions, leading to long-term maintenance headaches.
Insight #2 : The Modernization Strategy Spectrum
Modernization techniques cannot be pigeonholed into a single definition as their strategies vary widely. It can range from minor updates to complete system rebuilds. Blaize Stewart provides a concrete example, "It's more of a spectrum; from trying to move a system to the cloud without any changes to completely rewriting it and going cloud native."
Where your project falls on this spectrum largely depends on the need, business capabilities, and requirements that are driving the project. Businesses face various internal and external pressures that necessitate modernization. However, Garverick and Lhotka agree that more often than not, non-technical drivers are what triggers modernization. Whether its increasing customer expectations, the inadequate security measures on most legacy software, or the diminishing relevance and availability of specific programming tools and skills used to build the system, numerous reasons push companies to modernize systems.
Insight #3: The Balancing Act
When it comes to modernization, organizations often face a dilemma between balancing available resources with the potential risks of remaining stagnant. Stewart explains, "If there's no risk (or very little risk) in just maintaining the status quo, then simply leaving things as is or using minor tweaks to "modernize" can allow organizations to kick the can down the road a little longer. But then there's the other side, like, what will it take to move to a more modern architecture."
Considering the potential disruption and investment modernization requires, Stewart continues, "Sometimes it just doesn't make sense, so the challenge is figuring out what I can do and how much it is going to cost." Ultimately, organizations need to decide whether the payoff of modernization is worth the investment.
Future of Application Modernization
Pointing out how programs written in the 60s, 90s, 2000s, and 2010s are still running to this day, Stewart predicts that app modernization is not going anywhere. "The technology that we're calling modern today will be legacy in the future, running back to the invention of the computer." The next generation will add to, modify, and clean up today's state-of-the-art tech, and so, the need for app modernization will persist perpetually. "There will always be a need for app modernization."
Looking at a more immediate future, Lhotka says “I do think AI is going to have a massive impact on a lot of things”. He goes on to speculate that AI will make pre-AI software seem even more obsolete to regular users. The increasing user expectation of AI assistance will be another factor that drives the need for app modernization. Fortunately, AI features in dev tooling will assist developers in the modernization effort.
Conclusion
The expert insights detailed here emphasize the strategic imperative of application modernization for businesses looking to thrive in a digital-first world. It will always be relevant as we continue to innovate. Understanding the modernization spectrum and recognizing the drivers and challenges will help organizations effectively plan for future technology shifts. By aligning these efforts with clear business goals and customer needs, organizations can ensure their software systems are robust, efficient, and capable of meeting current and future demands.
eBook Application Modernization Strategies for IT Leadership and Innovation
If you would like to read more about modernization, feel free to download the eBook: Application Modernization Strategies for IT Leadership and Innovation. This guide is designed to equip Software Leaders with essential strategies and insights.