How to Be Agile on the Mainframe Even if You Outsource
New research shows organizations are increasing their reliance on the mainframe as web, mobile and other engagement technologies demand more support from the system of record—but this is not without new challenges.
Increased system of record engagement is generating more mainframe workload and change request backlogs. Managing these increased demands is made more difficult as mainframe experts retire, leaving esoteric duties in the hands of fewer programmers with less knowledge of the platform.
In response, some organizations are transforming their mainframe environments with DevOps and new recruitment initiatives. Others are outsourcing their mainframe application development entirely. And many have already outsourced hosting of the environments, leaving the critical ops components of the DevOps equation in the hands of disconnected service providers.
Most organizations realize they must bring their mainframe development and governance velocity in line with their customer-facing applications, but this can be harder for those that wish to combine the advantages of outsourcing (cost reduction, access to a qualified skills pool) with the flexibility of DevOps and its umbrella of leverageable methodologies (Agile Development, Continuous Integration/Continuous Delivery).
It’s not an easy path, but here are four things to keep in mind when you go looking for an outsourcing partner to manage your organization’s mainframe application development.
1. Make sure the outsourcer understands modern systems-delivery best practices.
Many companies claim to “do Agile” and “do DevOps” without much to show for it. The outsourcer should be able to demonstrate they are qualified at accelerating mainframe application development and delivery with DevOps, and that they understand how to implement those processes in models where development and operations team members are not co-located.
Mainframe DevOps requires well-honed skills in configuration management to support rapid deployments. A qualified outsourcer will discuss version controlling configuration and provide DevOps KPIs (key performance indicators) as part of your outsourcing agreement.
Our eBook “Ten Steps to True Mainframe Agility” is a great checklist for determining how well outsourcers understand what it means to be Agile and support agile processes, and it’s useful for outsourcers to leverage as they embark on that journey.
Read the eBook to learn what else you should be looking for. You will be able to determine, among other important practices, if the outsourcer is leveraging:
- Modern mainframe development through an environment resembling the Eclipse-style IDE newer programmers are familiar with not antiquated “green screens” that are hard to use and don’t integrate with modern DevOps tools.
- Automated unit testing to find bugs in the small parts of code early in the development life cycle, thus improving code quality before promoting it to reduce the number of errors found later, when fixing them becomes harder.
- Graphical visualization of large, complex mainframe applications to improve understanding and facilitate the transfer of knowledge from experts to novices
- Agile source code management that supports Agile teams working on different stories in parallel and enables capabilities like impact analysis for developers to understand the scope of code changes before making them.
Active management of assets and application performance by leveraging automation tools that monitor and optimize batch workload, database performance and abends to reduce monthly license charges and rolling four-hour average costs and avoid what is often a seven-figure, unnecessary spend on IBM licensing.
2. Implement an infrastructure for modern communication, collaboration and transparency.
Communication, collaboration and transparency are core tenets of DevOps, and they’re improved upon by bringing teams closer. When you outsource, you create a potentially greater gap between mainframe application development and operations, making communication, collaboration and transparency that much more critical.
Bridging that gap will require a mutual effort from your organization and the outsourcer to simulate the proximity of a co-located team which a long-distance, virtual relationship eliminates. You can do this by leveraging development and maintenance management tools like Atlassian JIRA that provide transparency of the mainframe development process as well as provide real-time communication to minimize status reporting. Other modern communication tools like chat apps should be used to enhance that communication, collaboration and transparency.
3. Use metrics and the monitoring of work to more effectively manage the outsource relationship.
Services like Compuware zAdviser are a great way for organizations to see how outsourcers are helping them achieve continuous improvement goals for mainframe application development as well as determine how well the outsourcer is servicing them in terms of tool usage or ensuring any skills gaps between developers are being closed.
zAdviser uses machine learning to find correlations between developer behaviors and KPIs based on DevOps toolchain data and Compuware product-usage data, giving your organization insight into the impact the outsourcer has on your mainframe development quality, velocity and efficiency—and giving the outsourcer insight into what they’re doing well and where they need to improve.
4. Find a partner, not a parking lot, for your mainframe.
You want the outsourcer to partner with you in achieving overall organizational agility and delivering quality innovations faster to customers, not just maintain a status quo. More organizations are trying to move away from price-based service relationships with their outsourcers, where service agreements and contract stipulations inevitably create constraints on accelerating mainframe application development and delivery. You should too.
Before committing to an outsourcing partner, you should ensure they can help you meet your goals for accelerating mainframe application development and delivery, rather than maintaining the status quo you want to break from. Not only that, you should see continuous improvement that leads mainframe application development closer to the flexible, cost effective, rapid- response end state your organization has defined for itself.