This is Part 2 of our Legacy Applications Series, visit Part 1 here, and stay tuned for the next one.
All of us in our Careers as Executives have encountered Software Applications and systems that over time have degraded in their capabilities, can no longer support the business in its current state, becomes too slow and costly to maintain, or worse is mission critical but very few people know how to support it.
The question that always comes up is, do we:
Of course, any of the above Options may work and they all have some costs and risks associated with them, especially if the system suddenly stops working at an inopportune time. In this Blog Article series, we will discuss the primary Business Drivers, Technical Considerations, Decision Criteria, as well as several real world Examples.
Every IT Executive when faced with these decisions has several potential Tactical Approaches to take:
This is normally the fastest and lowest costs approach, as you are only focusing on those individual components of the System that are prone to failure, deprecated and need to be replaced, or Technical Debt that is critical to fix. Considerations to take into account.
This option should not be considered lightly, regardless of whether you are migrating from one Custom Application to another, or from or to a Commercial Off The Shelf (COTS) Application.
There is often significant costs in terms of:
Managing “Change” and ensuring that there is adequate communications to everyone affected by this Change is critical. Too many Technology Replacement Initiatives have failed due to a lack of adoption and/or resistance from the various User Populations.
You can have the greatest new widget in the world, but if no one wants to use it for whatever reason, it doesn’t matter.
However, there are times when this really is the only option:
This is an option when you own the Intellectual Property (IP) of the Application or System. In this case you are making fundamental changes to the Core of the System, potentially affecting one or all 3 major Tiers:
Since this isn’t a “Replacement” of an existing System, this is akin to Swapping Out Parts of the Airplane, WHILE IT IS FLYING!
So, if you are going to do this and fundamentally upgrade your Custom Application, the absolute best way (IF - BIG IF, it is possible) is do this one Module or Component at a Time. This way the overall impact to the entire System can be minimized, and it will be significantly easier to fix and resolve any Defects or Bugs that do occur.
Remember that the greater the amount of Change that you create in a System, the greater the chance of it Failing (Law of Entropy).
However, there are times when this really is the only option:
There are times when a particular System or Application is no longer useful, other than for maybe a small handful of users. But the reality is that it provides very little or no overall business value, and the costs of trying to maintain it is higher than the value.
So, sometimes you just need to “Turn It Off” and put the Application or System “Out to Pasture.”
In this Blog Article we’ve covered the main Business Drivers, Technology Considerations, and Options that you might take as an Executive or Organization.
In Part 2, we covered which approach you take in either Fixing, Replacing, or Re-Architecting your System / Application, will depend greatly upon your individual situation and business needs. In Part 3, we will provide you with several real world examples, including the challenges and considerations which we took into account. We hope that this Blog Article has been valuable to you.
Thank you, David Annis.