This column is co-authored by Robert Mansell and Alex Wolfe
The pain is there, but you’re not sure what to do about it. You are encumbered by workarounds to your existing applications. Your business can’t take advantage of new technologies or make future changes. You can’t react to external forces with the speed necessary to remain relevant to clients and customers.
If any of these is true about your IT organization, it might be time to consider modernizing your applications. Here are four areas to consider before taking the plunge: maintenance costs, brittleness, speed and information silos.
If your maintenance costs are rapidly rising, it might be time to modernize your applications. These increases include the costs of running your application. Maybe it requires homegrown components that aren’t available “off the shelf.” These could require a high degree of domain expertise for which you’re paying a premium. Or if the application was poorly architectured to begin with, you might experience snowballing problems that will cost more to fix with each new iteration.
Testing costs also play a role. If you can’t automate testing, you’ll pay more for manual testing and testers. And, as with poor architecture, you have a snowballing effect. Change one thing and you have to test for everything. If something breaks, you have to go back and start the process all over again.
If you don’t have the capacity to meet spikes in volume during peak times, you’ll miss out on revenue and have a soiled reputation. Take for example this past holiday shopping season. According to a report from Adobe Analytics, Cyber Monday sales hit $7.9 billion, making it the single largest shopping day in U.S. history. The report adds that sales coming from smartphones hit an all-time high of $2 billion. However, you may not want to carry that extra infrastructure costs for the whole year to scale for a one-time annual event. So, unless you can right-size the app to meet on-demand economics and costs, you should consider modernization.
Physicists refer to this phenomenon as entropy: unless you act to keep order to a system, it breaks down into chaos.
In IT, we tend to use the term “bit rot.” Aging software requires ever increasing resources to keep it functional.
Brittleness happens unless you fight it. And most businesses don’t. The result is they can’t move as fast as they need to meet market expectations or incorporate new technology/processes. They have to treat their legacy systems with kid gloves, least they break and send the whole connected infrastructure into disarray.
Here again, good architecture goes a long way to preventing brittleness or helping to modernize applications out of it. With good architecture, you can reduce the need for fenced off areas of code that can’t be touched, or areas that when touched, cause a chain reaction of breakage elsewhere.
Speed is everything. Any friction or drag that keeps your business from capitalizing on opportunities can be fatal. A smaller, more nimble company will fill the void and eat away your market share and standing.
If you can’t get product changes or enhancements to market fast enough, if your tech velocity doesn’t match your business velocity or if you have to play around in a sandbox for weeks instead of days, it’s probably time to modernize your application.
Speed isn’t just about new development. It includes maintenance of legacy systems and extends to the engineers who do so. If your applications are built with an obscure or semi-obsolete language or architecture, it will take longer to find reliable replacements if a team member leaves. And, you’re paying a premium for this scarce talent.
Many enterprises are increasing speed in their modernizations by pivoting from proprietary to open source solutions. You can get better solutions for less money, including some freemium solutions. And, because the solutions are widely known, you can spend more time on modernization rather than on recruitment.
If there are things an application does that other parts of the system can’t access or use, it’s time to consider modernization. This includes both information and capability siloes that you can’t bring together in an effective way.
This inoperability of capabilities is like having a different electrical plug for each outlet in your house. Sure, you can still use your TV, microwave or hair dryer, but you need to change the adaptor each time you need something new. Having 10 individual apps that don’t (or can’t) talk to each other keeps the business from functioning at peak productivity.
Information silos make your organization less secure. If everything is operating on its own, there is no single point of access. Security is fragmented and you can’t see a full vision of what’s happening across your organization.
Silos also create blind spots for data curation, reporting, compliance and marketing as there is no single source, or aggregate stream, of truth from your applications. How can your sales/marketing departments make accurate forecasts or customer insights if they are dealing with different data streams? How can finance or HR create compliance or shareholder reports when the information they receive isn’t standardized across applications? Application silos create more productivity backlogs downstream. Modernizing and standardizing your applications can remove these data dams.
If you feel friction in any of these four areas, it’s time to consider modernizing your applications. Any delay will only make it harder, longer and more expensive to fix the problems you already know exist. And, in the meantime, you’re losing market share to companies more willing to make the investment in their IT future.
– Robert Mansell, chief technical officer
– Alex Wolfe, vice president of architecture
This column originally appeared on RTInsights.com as “How to Tell If Your Data-Driven Applications Need Modernization”