According to a recent survey, the federal government spends $35 billion every year maintaining legacy applications. In other words, it costs $35 billion dollars just to keep everything running smoothly. When I hear numbers like this, a couple of questions immediately come to mind. How do they determine maintenance cost? How much would it cost to maintain modern applications?
I think the better question is this: Why is maintenance for legacy applications more expensive than maintenance for modern applications? After all, if you modernized your applications, you would have to maintain the new applications too. What makes legacy application maintenance so expensive? While I’m sure there are more, here are 4 big reasons:
The workforce has changed: In many cases, legacy applications were created 20 to 30 years ago using outdated programming languages that aren’t taught in colleges anymore. To top it all off, the original developers are usually no longer with the company. What does all that mean? The applications are maintained by those who didn’t create them and don’t fully understand the programming language. As you might imagine, this is a huge time drain.
Too many dependencies: Many of these old applications were built with too many dependencies between procedures. What does that mean? It means that a change to one area of the application could alter or even break another area. This means every time a change is made to one application, the programmer must make sure that it hasn’t broken anything else. This leads to slow turnaround times as the IT staff must spend unnecessary time testing each change.
No modularity: Applications are designed much differently today than they were in the past. In the past, applications were usually built without modularity, which meant they couldn’t re?use or share other parts of application logic. For example, if your product pricing algorithm changes, every application containing the old pricing algorithm must be changed. Comparatively, modern applications rely on code sharing. When a change is needed, only one block of code needs to be altered.
Spaghetti code: Old applications have undergone many changes during the years. As more changes and updates are added to these old applications, the code becomes more and more convoluted. After a while, the application code turns into what is commonly known as “spaghetti code”, a name given to twisted and tangled code. The more updates and fixes that are applied to monolithic applications, the more difficult they are to maintain.
Those are four of the most common ways that maintaining legacy applications waste time…and therefore, money. If you want to learn more about modernization, we’ve put together a handy white paper entitled, “Crash course in modernization.” It will help you better understand modernization and figure out which modernization method is best for your company.