Whenever people see old systems still in production (say things that are over 30 years old) the assumption is that management refused to fund the replacement. But if you look at replacement projects so many of them are such dismal failures that's management's reluctance to engage in fixing stuff is understandable.
From the outside, decline always looks like a choice, because the exact form the decline takes was chosen. The issue is that all the choices are bad.
The problem is not refusing to fund replacements. The problem is refusing to fund maintenance.
A lot of managers in old school business were sold on IT as a tool. And tools? You buy them, use them and replace only when they break. Maintenance is minimal and you sure don't evolve them.
That's how you get couple decade old software chugging along, being so key to operations everything you want to add has to be aware of it and its warts which will then infect what touches it. And replacement projects cannot work because usually they mean changing how things are done.
But 20 years of rot are a symbiosis between users and tools:
- some tool does not allow a workflow, so users manage and find a workaround
- there is a workaround so next version of the software landscape cannot break it
- people want to do some new thing which is not in the software, changing it could break the previous workaround. So either people don't do the new thing or adapt and create other workarounds
Multiple rounds of this and you have a fossilized organization and IT where nothing can be easily changed. The business cannot adapt. The software cannot be modified to allow adaptation because it could break the business. Now a new competitor emerges, the business is losing and that's when everyone starts blaming everyone for the problems. But in reality? The cause is 20 years ago when some management decided to add IT as a cost center.
My solution to this problem? Create your own competitor and kill the old business.