I know people who do restorations and I have a lot of respect for them. My brother’s obsession with his baby blue 1975 Ford Bronco is a labor of love. In the software world, it’s not about restoration, it’s about modernization. Keeping the old and making it like new does not make sense.
Wikipedia talks about software modernization as a legacy transformation that “aims to retain and extend the value of the legacy investment through migration to new platforms to benefit from the advantage of the new technologies.” To simplify, I think it means replacing old, outdated software systems that are still being used.
I’m not saying that legacy systems are bad. Software systems suffer from their own form of entropy, the inevitable deterioration of a system, and, when you combine this with corporate inertia, you can see how productivity is impacted. Modernization is a process and an embedded mindset enabling us to adapt to change and innovation.
We want to talk about the steps involved in this modernization process, but first, let’s understand some of the organizational inertia that hinders software modernization.
- If it ain’t broke, don’t fix it. Unfortunately, entropy and Murphy’s Law mean that systems will break, software can’t be patched, and, if you wait too long, it will be more catastrophic.
- It’s too expensive. You are still paying software maintenance, plus increased costs from expensive license fees, specialized resources, poor performance, incompatibilities, and inefficiencies that impact productivity.
- Security and data vulnerabilities. Legacy systems are unable to keep pace with the latest security requirements. Security breaches and data loss are costly and remediation is time-consuming.
- It will cause too much disruption, take too long and employees will hate it. Modernization can be a tremendous change for the organization, do not over-promise and try to keep expectations realistic.
Why modernize? Business systems are not static, legacy systems and obsolete technology often pose challenges for businesses and organizations. At some point, legacy software won’t be worth the extra effort: keeping up with quick-fix workarounds, incompatibilities with other technology, and loss of domain expertise will eventually lead to failure. Legacy software creates an “operational debt” that increases inefficiencies and directly impacts productivity. I think it’s important to start with a modernization mindset. How do we cultivate that inside ourselves and inside workplaces? The dictionary definition of a mindset is a mental attitude or inclination. It seems easy, we don’t have to embrace traditional vs platform products, cloud architectures, digital transformation, or any other flavor of the week notions. We just need to be open, curious, and appreciative of innovation and technology.
Just watch a six-year-old using a tablet. They experiment, ask questions on how to do things, grab the tablet to do it themselves, learn how it works, and, most importantly, how it works for them. They go back to the programs they have mastered and then extend and adapt using what they already know to master future applications.
Be that six-year-old.