The Fast Path to Quality for Batch JCL Testing
Batch systems still manage over 80% of enterprise business data even though much of the front end processing is being performed via web-based and mobile applications.
Speed to market with quality solutions will always be a focus for every development process. Traditionally waterfall-style mainframe batch applications need to continue to evolve to improve speed to market. Applying Agile methodologies to traditional mainframe applications is a challenge but one that can be at least partially realized. A key aspect of this is to drive change packages towards ‘micro packages’, such as individual batch Jobs, where possible.
Another key agile principle is ‘continuous feedback’ which can be achieved via the ability to track and measure JCL quality as part of the defined feedback loops built into the testing processes. We are all familiar with JCL validation tools, but did you know that they can now track metrics on the quality (errors found, standards violations found, etc.) of batch jobs? Tools such as SEA’s JCLplus+ can report on the quality of the JCL each time it is scanned as it moves through development and test cycles. This capability can be used to verify the quality of the batch package as it is prepared for Production deployment.
While in some cases it may not be feasible to redesign mainframe batch applications to be more ‘Agile-compatible’, it is definitely possible to incorporate process improvements and automation to get to quality earlier in the development cycle. Imagine the value of reducing a traditional 3-month development cycle down to 3 weeks! ‘Sprints’ may one day be a common term in context with mainframe batch application maintenance!
To improve speed to market with high-quality batch applications, we need to put the right tools and automation in the hands of the developers and testers.
- Automatic JCL Conversion & Simulation – With good naming standards, JCL can be automatically converted to be executed in various environments. The first automation point is to use a quality JCL tool such as SEA’s JCLplus+ to automatically convert the JCL (Jobname, DSN names, etc.) from the Production names to the Development names as the JCL components move from Production to the Development environment. A JCLplus+ simulation should also be automatically run against the newly created Development JCL package to ensure it is ready for unit testing, and to provide a quality baseline for reporting.
The same automation techniques should be used when the JCL is promoted from the Development environment through the test environments. This automation will quickly ensure quality JCL early in the development cycle, with a minimum of manual effort.
- Ad-Hoc JCL Simulation – The developers and testers need point-and-click access to perform thorough JCL simulations as they are making manual modifications to the JCL components. SEA’s JCLplus+ has an eclipse-based plugin for GUI Development Environments such as the IBM Rational Developer for System z (RDz) or Compuware’s Topaz Workbench for this purpose. Ad-hoc simulation results are automatically added to the repository for JCL quality reporting.
- Automated Regression Testing – At the appropriate point in the testing process, prior to Production deployment, a full regression test needs to be generated and executed. The obvious example is when a JCL Cataloged Procedure is modified, it is critical that ALL the Production Jobs that execute that PROC are simulated using a quality JCL simulator such as JCLplus+. In conjunction with the XREFplus+ tool, this process can be automated. The JCL component cross-reference tool can be queried to identify all Jobs that use the modified PROC and a JCLplus+ simulation can be automatically performed against ALL those Jobs to ensure there will be no unforeseen errors in Production after the change is deployed.
This automated Production simulation process should include a full verification of the Production JCL Standards as a final validation that the modified Job is ready to be deployed into Production.
Implementing this automation can significantly speed up the development, testing, and production readiness efforts for changes to mainframe batch applications. The JCL quality reporting will provide real-time feedback into the quality of the JCL and batch application.
Change Authorization – The last step prior to Production deployment of the modified batch application is to get IT Change Management authorization to deploy into Production. The JCL Quality Verification Reporting, showing a downward trend in JCL errors, is a key artifact to prove the quality of the change and related testing efforts.
Recap – While some mainframe batch applications may need to be re-architected to fully support the speed desired by some agile development cycles, implementing the right tools into well designed automated processes can generate quality JCL very quickly and early in the development cycle. This can significantly speed up the traditional mainframe batch application development cycles and provide the speed to market that the business needs while insuring the quality that mainframe operations demands.