Top Three Invasive Techniques for Leveraging Legacy
Blog: Jim Sinur
Everyone is afraid of messing with legacy code unless you are forced to do so. In fact some organizations have systems written in languages that they no longer have the knowledge and skills to maintain much less take them along for the digital ride. In my last post I identified the top five non-invasive approaches to leverage legacy in the new digital world which kept you out of the code from a change perspective.
This post will now focus on surgical methods that reduce risk that leverages the incremental remodeling approach to dealing with legacy opposed to reverse engineering. These techniques are comparable to robotic surgery that is precise and minimally invasive and safe. These invasive approaches isolate and change the areas that need help the most which implies some study of where changes have occurred the most and where they are most likely to occur.
Creating Explicit Business Rules for Change Hot Spots:
Once there has been a study for where change has occurred the most and discussions on future changes have completed, you will end up with a list of hot spots where externalizing the business rules makes sense to speed up responses to the digital pace of change. You can either make these rules explicit through data variables or leveraging a rule engine that supports some form of rule visualization such as a decision table, a decision tree or decision modeling representation such as DMN. This will enable both IT and Business Professionals the rapid control of change synchronized with the new digital capabilities you are building or have completed.
Creating Reusable Code Snippets:
Your completed study for change combined with a digital target architecture should identify those portions of code that will be leveraged going forward (with or without explicit business rules). These process flow or base code snippets can be isolated and called from the legacy for digital reuse. This is better than a mass SOA approach in that your a focusing on what is leveraged the most and the granularity does not have to be consistent, but it does have to be practical and inventoried. Combined with the notion of agents these can be leveraged to create composites of legacy and new digital functionality.
Creating a New Interaction Layer That Leverages Old Logic:
Quite often legacy systems just need a face lift and have to interact in a different manner with the participants in the new context such as a user based workbench, profile or an adaptable process. Imagine a stronger interface that can understand a clients needs and submit orders based on mood, likes and CRM history. The order submission legacy code is used in a completely new context with a new interface and new calling points (invocations). It could also just be screen scrapping, but I think the digital world is headed to dynamic and customized personas that leverage back end transactions where appropriate until the back end changes.
Light surgery can deliver strong benefits when thought out. Invasive change is not always bad especially when combined with some strong analysis as to when, where and how to best do it. Legacy can be the pig eating budget or the bacon in your new digital banquet. You can use invasive and non-invasive approaches together, but mapping and adjusting your digital target is essential in guiding where legacy can help.