Blog > January 2020 > Managing JCL Changes Through the Development Life Cycle: A Different Approach

Managing JCL Changes Through the Development Life Cycle: A Different Approach

On the mainframe, job control language (JCL) is the “glue” that binds together programs and files. Yet, the way it’s currently managed at most enterprises is not optimal. As mainframe resources become scarcer, it’s a challenge to change JCL to meet the different execution environments of the development lifecycle—e.g., system testing, acceptance, quality assurance. It presents an obstacle to enterprises who have adopted DevOps as a strategy and need to integrate their mainframe infrastructure and applications into their DevOps practices. Implementing JCL into production without properly testing it first can lead to failures, which not only impacts the mainframe, but also business overall.

Today’s enterprises are currently limited by a widespread reality: the image of the JCL can only be executed in a production environment. This requires developers to move across multiple environments during validation testing, which is time-consuming and inefficient. Information Technology (IT) professionals must switch from development to production to test the code, and, if there are JCL errors, send it back to development to address them. It could take hours for developers to manually format code, check it for standards and errors, test it and then recode it. Multiple iteration cycles also increase the likelihood of human error and delay the entire DevOps value stream.

The Old Approach to JCL Changes

At most enterprises, there are siloed environments for different stages in the software development lifecycle. This isolation protects the critical production environments to minimize disruption to the customer. Typically, there is one mainframe logical partition (LPAR) environment set aside for developers to create code (frequently labeled Dev). Once it’s gotten to a certain level of maturity, the code will pass out of that lifecycle environment to the next one (quality assurance), in which QA engineers look for gaps and issues, and ensure any bugs are addressed before new capabilities are promoted. Once the QA engineers are satisfied, the code gets promoted to an integration test (PREPROD) or user acceptance test (UAT) LPAR, where it will undergo additional evaluation and approval, before ultimately being promoted into production (PROD).

At large enterprises, such as a global bank, there may be as many as eight different lifecycle environments that code must progress through before it’s allowed into production. That underscores how damaging any disruptions to mainframe processing could be. And when new capabilities depend on the mainframe, no execution can occur without JCL initiation. That’s why it is critical to create well-formed JCL to initiate work on the mainframe that conforms to IBM constraints and local conventions (e.g., data set naming, storage allocation and workload prioritization conventions).

JCL Management for the Modern Mainframe

Today’s enterprises can’t operate with this long lead time and consequent level of inefficiency. Companies need to release new digital services and features at the speed that meets their customers’ needs and expectations. To do so, they must be a well-oiled machine—standardizing, modernizing and optimizing across the company. Employees must be equipped for continuous development and improvement, which requires a new approach to managing JCL.

As DevOps has moved from simply interesting to compelling and necessary, enterprises want to include mainframe in their DevOps management and how they manage code across multiple lifecycle delivery environments—just as they do for the Linux servers and cloud services. The new DevOps mindset focuses on the horizontal value stream that traverses many technology stacks, rather than on one vertical silo of mainframe processing.

ASG-PRO/JCL makes a more holistic approach to JCL management possible, and it can be easily added to the DevOps toolchain. Leveraging ASG-PRO/JCL, developers can use one interface to develop JCL, apply standards and formatting and then check their work before any new code is submitted to production. With JCL validation and run-time simulation, developers can both discover errors proactively and avoid the costly need to re-run production mainframe jobs. ASG-PRO/JCL also offers direct execution, which enables developers to remotely scan between lifecycle environments in different mainframe LPARs. This capability saves valuable developer time by including JCL management tools directly within Eclipse-compatible plug-ins for a seamless DevOps integrated development environment (IDE) user experience.

ASG makes mainframe infrastructure management tools available to DevOps workflows inside the IDEs that enterprises use. Our customers tell us how important adopting DevOps across the board is for their business—for both their commercial and their technology strategies. ASG-PRO/JCL meets their needs, reducing time-to-value, improving internal operations and accelerating innovation.

The insurance industry illustrates this trend well. For example, within an insurance company, there will always be a value stream for claims processing—which depends on web servers, distributed databases, distributed cloud transmission servers and message transmission servers—and the mainframe is the core system of record for many insurance carriers. If a customer has an accident and files a claim, the resolution of that claim follows a claims processing value stream—from claim capture to claim assessment, and all the way to payment, where the customer gets compensated for the claim under the carriers’ terms and conditions. Having a short time-to-claim resolution is a critical key performance indicator (KPI) for the insurance market. The better and more conveniently that all the infrastructure management components are integrated into the insurance company’s DevOps toolchain and engineers’ IDEs, the less elapsed time is required to deploy changes, extensions and enhancements to the claims processing value stream automation—representing competitive advantage over those still developing only in traditional ways.


JCL (job control language) is a language for describing jobs (units of work) to the operating systems which run on IBM's large server (mainframe) computers. These operating systems allocate their time and space resources among the total number of jobs that have been started in the computer. Jobs in turn break down into job steps. All the statements required to run a particular program constitute a job step. The operating system manages interactive (foreground) user requests that initiate units of work, as well as Jobs that are background (sometimes called batch) units of work that run without requiring user interaction.