There were a host of exciting technology industry developments in 2018, from Facebook scandals to AI entering the mainstream, to the incredible (and continued) rise of Fortnite, just to name a few.
In the legacy modernization market, 2018 saw more pressure for organizations to modernize as the benefits associated with cutting edge technologies like AI, machine learning and Cloud-Native architectures such as microservices become clearer, with more mainstream adoption. The hype of these technologies– and in some cases – real world use cases further underscored for CIOs the reality that in order for them to benefit from adoption of these sophisticated features, they have to first grapple with their legacy environments. The starting point of many legacy modernization projects involves decades-old mainframe-based COBOL applications. Given the complex nature of the legacy ecosystem, these projects can seem like a daunting undertaking.
As you look to enter 2019 with a bang and become more eager to reap the benefits provided through these newer technologies, keep in mind that to do so, you need modernization best practices from trusted leaders. Building on our 30+ years of experience leading these types of projects for global enterprises, we break down the following six principles to guide you along your legacy modernization journey.
1. Gain executive sponsorship
Without executive sponsorship, finding the resources needed to properly execute a modernization project will be a challenge. It’s critical to gain sponsorship early on, and continue to include executives throughout the project as it develops. A few of the responsibilities executive sponsors should own include the following:
- Keeping project regulated with the organization’s direction
- Governing project risks
- Working with sponsors
- Providing feedback and assurance
2. Know what you have and who owns it
Establish ownership of each of the following components as part of your modernization project. There may be more, depending on your environment, but these are the staples:
- Primary programming languages (such as COBOL, PL/I, CA Gen, and Natural)
- Secondary programming languages (Easytrieve, REXX and Assembler)
- Data infrastructure and data stored in files and relational databases
- Batch application infrastructure (including JCL, supporting utilities, and Job Scheduler)
- Online application infrastructure (including TP System and User Interface screens)
- Application and system level security (like RACF, Top Secret, and ACF2)
- Output, content and report management (like CA-View//Deliver, ASG-Mobius, and IBM FileNet)
- Development, test, and QA infrastructure
- Production, failover, and disaster recovery infrastructure
- Application modernization architecture and tooling
3. Know where you are going
Always begin a modernization project with an analysis or assessment. During the assessment phase, make sure you have a technology partner who can provide a detailed analysis of your unique environment, walk you through specific requirements and recommend various target environments for different applications. Pay extra attention to performance. For example, will you achieve desired performance levels in a virtualized environment? Can it work in the cloud? What is the support ecosystem for the target environment?
4. Understand the bigger picture, and include the broader mainframe ecosystem: operations and infrastructure
By understanding the role of operations and infrastructure, you can minimize rework and unexpected delays during the project initiation phase of your project. You should include internal stakeholders for support processes and other operational considerations during project planning and solution design. In many cases, the application team running a project lacks experience with infrastructure projects and related procurement/support processes in the target environment.
5. Prepare for testing early and execute in parallel with the project
Testing is a hugely important part of all modernization projects, and in most cases becomes more than half of the of the overall effort of the project. Be sure to avoid wasted time in post-migration testing by thoroughly preparing test-related artifacts such as test scripts, data and test plans, leveraging existing testing assets and processes wherever possible. In many cases, documentation around test cases is rare. Dedicate the resources necessary to ensure proper documentation of all test cases relevant to the mainframe migration. In general, know that you need to begin the testing process early. Don’t underestimate the required effort level to ensure comprehensive and proper testing.
6. Be selective about what you modernize
Finally, remember that not everything has to be converted, nor would you want to convert everything just for the sake of doing so. Be careful to segregate “master input files” from other intermediate file types, and gather all associated record layouts. Determine a strategy for your archived data (often stored on tape storage) and be prepared to complete a thorough “housekeeping” exercise. What is the nature of the data? Who is the owner? What is the legal requirement to keep it? What are the business reasons to keep it? How long does the data need to be retained? Is the retention of this data a revenue generator? The answers to these questions will aid in determining what needs to be converted as part of the project or retained and converted at a later date on demand.
Taking on a modernization project might seem overwhelming, but when done correctly, can have incredible business outcomes, including operating cost reduction, increased application elasticity, Cloud-enabled states, digital transformation benefits, and improved security.
In future blog posts, we will be covering more modernization best practices, including a quarter by quarter planning guide to your modernization projects. Check back to read our series and feel free to contact us if you have questions.