5 Modernization Steps to Maximize Value and Reduce Risk
Application modernization is a hot topic for IBM i shops and it’s no secret why. Companies need to be nimble and their applications need to adapt to meet the evolving needs of the business. Systems are aging, interfaces and processes are outdated, and data is hard to access. Skills shortages are becoming a bigger issue as more programmers retire. The longer we wait to address modernization, the greater the risk of something going wrong and the more it slows down the growth of the business. This is new territory for many CIOs—especially those in IBM i shops—as the changes needed to truly modernize a legacy environment are transformational in nature.
Throw Down the Gauntlet
Modernization doesn’t have to be difficult. Without proper planning, however, it’s complex and risky, especially when changing to different technologies. And the scope can be significant, as it touches many aspects of your business.
Legacy applications being tightly integrated to the business is a double-edged sword—the functionality may serve the business well and provide a competitive advantage, but that functionality may be difficult to extend to changing needs.
The challenge is determining how you modernize to deliver results quickly while reducing risk. My experience shows that organizations have different needs and that one size doesn’t fit all. A package rarely addresses all of your core business needs—the reasons why your custom software was initially developed. A rewrite involves considerable time and risk. Attempting to replicate your business rules across your systems can be a daunting project. The best approach combines multiple modernization techniques to suit your business needs.
Value Is Rewarded— Five Steps for Success
After dozens of large modernization projects and several lessons learned along the way, I have found that success hinges on following these five steps:
1. Establish a business case. Start by clearly identifying the business reasons for modernization projects. Modernization will be successful if the business case is brought into the effort—it can’t be technology only. I’ve seen projects derailed early because business stakeholders were brought in too late. You have to understand business goals and have stakeholder buy-in to determine ROI. Justify the project by tying real, measurable business value to modernization. Remember that the budget for current operations is much less than the cost of a modernization project.
2. Use a discovery process to understand your current situation and determine a starting project. Examine all candidates for modernization in your entire application portfolio and rate them on complexity, scope, risk and value. Determine a modernization approach for your applications and consider various approaches for each: rewriting, replacing with a package, modularizing or automated conversion. Core business applications may be good targets for a rewrite; these are the applications that provide your competitive advantage. Use an automated process as much as possible. Replacing an application with a package is a solid approach for commodity applications.
The last part of this step is to identify “low-hanging fruit”—opportunities that quickly benefit the business and where you can leverage your existing application to keep risk low. This will be your pilot project.
3. Build a modern architecture that supports integrating legacy and modernized applications. Automate as much as possible. The architecture must leverage what you currently have and be flexible enough to integrate with other systems now and in the future. It must support modernizing in pieces so that your disparate applications can exist in the same environment and integrwate with each other at all layers of the architecture, from database to data access, up to the user interface and API layers. It can reference old and new applications for the transformation phase or be a permanent design component to suit your modern infrastructure.
This helps ensure minimal disruption and mitigate risk, as it allows users and legacy applications to continue to operate as new systems are developed or converted. Your modernization environment must also support as much automation as possible, from code conversion to DevOps and even testing.
4. Design a roadmap for modernization. A modern architecture enables a phased roadmap with visible and measurable accomplishments at regular intervals. When designing your roadmap, include the tools, skills, expertise, languages, investment, timeline and approach to transform from the current situation to the destination architecture. Make sure to also include the expected outcome and benefits.
5. Implement the roadmap starting with a pilot project. In my experience, a pilot approach to modernization is preferable to a proof of concept. A pilot delivers a smaller application or piece of a larger project that can be used, while a proof of concept project generally has limited value and is usually discarded. The pilot will inform and evolve your destination architecture, test the processes and tools, and build a strong development team. Most importantly, it increases your chance of success, which is critical to gaining the confidence of stakeholders.
Be Flexible in Your Modernization Approach
The key to all steps is flexibility—use each approach when it fits the specific need and realize that more than one approach may be required for your application portfolio. Spend more of your dollars on the high value items where you get the most return. Success on the first project is critical to get approval to continue with larger modernization projects. Don’t find a comfortable place and stop. For example, user interface and user experience modernization provide rapid, visible, tangible results that have a positive impact on users. Continuing the modernization can enable accessing a modern database and processes through that improved interface.
Finally, remember that having modernization experts on hand lowers your risk and minimizes disruption of your existing staff. Modernization skills can be highly specialized, and most companies don’t have all they need in-house. You may only do one large modernization project in your career, and a little expertise can help make it a success.