Bookmark and Share

Recent Posts

Application Modernization Methods: What’s Useful?

March 4, 2019

This is the third post in this series about application modernization. Last week, the focus of my post was on strategies as a plan of action or policy designed to support application modernization efforts. A high-level and informed plan of action is needed for any renovation effort. This week, my focus is on methods to carry out the effort. A method is a specific procedure, systematic or established pattern to inform and guide application modernization.  
Method for What? 
The starting point for any methods discussion is “What is it for?” because the method will vary depending on the modernization task at hand. Is the task small and simple or large and complex? Is the effort a programming enhancement or something much bigger like a new release of the application? The change to the application could rely on the addition of middleware or an upgrade to an existing piece of supporting software. The variability in the inputs, transformation and outputs is something that I have written about recently in the article “Modernization Is an Ongoing Strategic Activity.”  You’ll find this figure in the section called “Is There an Application Modernization Method?”

This figure lists the variables you should consider when implementing a change to an application. It doesn’t suggest a specific procedure to follow, so what methods are out there for use? 
Method Examples
Different companies—research or software or professional services—have diverse approaches to the question of methods. Since methods are the bridge between the strategy and project plan for the work, there is the potential for a lot of variability. A tools and services company might simplify the methods question by getting right to the modernization tasks. This would include GUIs/webification, switching to relational databases, lift-and-shift, SOAization, rearchitecting and automated test case construction/execution. The idea is to pick one or more of these tasks and put together a plan. Of course, there would be some background on why specific modernization tasks were needed. 
Checklists and Frameworks
Software engineering companies like altexsoft have “how to” whitepapers like “Legacy System Modernization: How to Transform the Enterprise for Digital Future” that contain checklists and frameworks that are part of their method of doing the work. For example: 
A Checklist for Successful Modernization
  1. Assess the current state of legacy systems
  2. Select the modernization approach that would be the fastest to deliver value
  3. Rethink the architecture and prioritize for simplicity
  4. Choose the technology stack to deliver optimal performance and user experience
  5. Document for future system growth
  6. Create a separate support and retirement schedule for your legacy system
  7. Budget for training and system updates
System Assessment Framework:
  • Technologies analysis
  • Architecture audit
  • Code review
  • UI/UX review
  • Performance testing
  • Current requirements and opportunities for future growth
IBM Services for Application Modernization 
The readily available material from IBM lists modernization topics that others don’t list, such as artificial intelligence, automation and blockchain. They also focus on agile, DevOps, microservices and APIs so their emphasis is to help you make leading-edge change. The services they provide contain the methods they use. For example, “Rationalize the Applications You Have” looks at which apps can be upgraded, sunset or moved to the cloud. That service uses a consulting method. IBM also provides a variety of application services like custom application development and management, as well as application automation services. 
Proposal-Led Modernization 
Some organizations hire companies to guide and handle their modernization challenge. In “Modernization: Clearing a Path to Success,” the authors explain the process they followed for a client. The steps were:
  1. Identify the modernization problem to solve and the opportunities solving it would bring 
  2. Categorize the approaches, for example, rewrite the application versus buy a commercial off the shelf (COTS) solution versus modernize what they already have
  3. Get bids from suppliers for the different modernization approaches
  4. Make an informed choice based on the success rates of different projects by type
In general, the authors wrote favorably about the approach to “modernization what you have” versus rewrite the application or the COTS solution approach. They write, “For better or worse, the users get what they had before the modernization project, but improved and less costly.”
What’s Next?
In the next post, I’ll focus on toolsets used with application modernization activities. Toolsets are used during modernization projects to reduce human error and save time in completing more routine tasks. Some tools used are highly innovation and important to the success of the modernization effort.  

Posted March 4, 2019| Permalink

comments powered by Disqus