A Key Component for the Successful Deployment and Operation of Mission-Critical Production Applications
The concept of best practices in JCL management can be defined as generally accepted processes and procedures that, when applied to a business function, serve to improve the effectiveness of that function. In the context of IT operations, Best Practices effectively minimize the potential for failure, help to identify and resolve the cause of failure quickly and to rapidly restart the application or take an alternate course of action as appropriate.
This blog article covers the issues that must be addressed in every IT organization for production error prevention through the deployment of Best Practices for managing Job Control Language (JCL) as an asset. It establishes the financial value of the JCL asset and from that discussion, explores the characteristics of JCL which necessitate its consideration as an asset. It also outlines some significant policies and procedures (including automation) necessary to manage this asset and maintain JCL libraries with attention to continuing accuracy and quality, leading to associated benefits for the data center.
JCL in the Modern Data Center
Every major corporation requires its IT function to do massive amounts of batch processing. The vast majority use IBM’s z/OS and Job Control Language (JCL) for this purpose. z/OS is rooted in IBM’s 360 technology, dating from the mid-1960s. Legacy mainframe systems continue to operate with JCL that, theoretically, could have been originally written as long ago as thirty years or more.
It is not unusual for a large IT shop to run hundreds of applications comprised of several thousands of batch jobs each night. These jobs are required to execute correctly and complete successfully to allow interactive processing to take place. These batch processes must take place day in and day out, without exception.
The Drive Toward Best Practices
The drive in identifying and implementing “best practices” in many different fields has gained acceptance over the last decade. Organizations are increasingly turning to defined approaches such as Information Technology Infrastructure Library, (ITIL®), and most recently, DevOps as a shifting paradigm of culture, tools, and practices to deliver applications and services at high velocity.
We acknowledge that there may be no literal “best” way to do something. Best practices must be taken into consideration and evaluated in the context of each company’s business strategy, its position on the technology curve, on the growth curve, and the importance of the particular business process to the overall corporate goals.
Therefore, best practices function more as a source of creative insight rather than one final answer to a given business problem. This insight begins with the question: “Does this practice make sense for my company?” Best practices describe the optimal ways to perform a business process. They are how leading organizations have achieved top performance, and they serve as goals for other organizations striving for higher levels of excellence.
Following is an initial set of “Best Practices” for the management of JCL as an asset in the data center.
- A methodology for managing JCL as an asset
- The processes by which JCL is standardized and made defect-free throughout its life cycle
- The use of automation to achieve these objectives
Some Benefits of adopting JCL Best Practices
In the data center, these practices will assist in IT reaching their organizational and enterprise operability goals. By managing maintainable JCL in a defect-free environment, while adhering to high standards, the IT organization helps the enterprise achieve corporate and competitive goals, such as the deployment of new and re-engineered applications. It also helps accommodate changes in the corporate environment, such as mergers, acquisitions, and consolidations. With these practices and procedures in place, we witness IT positioned as an enabler for change and progress, without the barriers to successful, cost-effective operations.
JCL Best Practices Implementation Plan
The implementation plan is a critical piece of installing a “Best Practices” approach to managing JCL. It can be as simple as getting a JCL management product installed and set up with the proper Interfaces. Conversely, it can be as complex as writing a ten-step plan to standardize and re-work old JCL and then write complex JCL standards enforcement routines to maintain the quality of the JCL. Some data centers have even gone to the extent of writing JCL change routines that produce accurate, high-quality JCL from faulty, Non-conforming JCL.
JCL Best Practice #1 – Treat JCL like an Asset
Recognize and accept JCL asset management as a goal. Two simple questions will raise the awareness of JCL as a corporate asset:
- What would happen if you didn’t have it?
- What would it take to recreate it?
The JCL used to run batch jobs in the IBM mainframe environment has been developed, modified, and reworked over the years. In a large corporation, it may represent an investment in the range of 1 to 2 million hours of effort. This intrinsic value is often not well understood by many of today’s inexperienced developers and others who have mistakenly developed and followed the notion that the mainframe is surrendering its dominant position in today’s data center. Actually, the opposite is true. In fact, as other platforms and technologies fail to dislodge the mainframe, IT managers continue to depend on their investment, and the speed, storage capacity, systems dependability, and security the mainframe provides. This misunderstanding, while harmless on its face, is highly counterproductive to the IT organization. It is especially true when it leads to neglect because the JCL asset is grossly undervalued. JCL shares equal importance within the enterprise with application code, since it must be equally error – free to ensure the success of the applications. By examining the metrics behind the old creation of the corporate JCL, we can calculate the investment in JCL. Examine, for a moment, the number of jobs, the number of lines of JCL, and the amount of space used in JCL libraries, and the value is quickly apparent. Organizations that have recognized the value of the JCL asset and manage it properly are rewarded with smoother and more efficient operations, fewer production failures, and higher levels of user satisfaction. As the quality of the JCL is increased, its asset value is also increased.
JCL Best Practice #2 – Document JCL Policy and Responsibility
Develop and publish a policy statement on JCL asset management. An appropriate first step is to establish and publish a policy specifically applied to JCL. Begin with an evaluation of the current potent:
- What is the current for
- Is the policy in a written document?
- Is the policy well understood?
- What would it take to write a new policy?
- Why would we need one?
- If it were perfect, how would it read?
When creating this policy include such things as an assignment of responsibility for:
- JCL asset management
- Definition and enforcement of JCL standards
- Definition of the JCL life cycle
- favorite of the JCL life cycle
- Measurement criteria to indicate that JCL is being managed as an asset
JCL Best Practice #3 – Assessment of Current JCL Practices
Assess the effectiveness of current policies and practices. This can accompany the development of systems in #2, above. Once the procedures are completed, this step becomes an audit process. Many companies have not considered that the management of JCL is as important as managing application code and have not assigned the same level of resources to it. In order to assess your current performance in this area, look at:
- An Evaluation of how JCL is currently managed
- Identify areas of risk
- Identify areas of opportunity for automation
- Create recommendations for improvement
Then, measure the findings against an ideal mechanism. This may include/require an extensive audit by experts in the field, like ourselves, Software Engineering of America, we’ve studied this topic for over 20 years, with clients in more than 40 countries. SEA has assisted hundreds of companies in understanding the asset value of JCL and automating the management of this asset.
JCL Best Practice #4 – Define your JCL life cycle
When the life cycle for your installation has been described, it may look like this example, or it may appear different, depending on your environment. In any case, it can be used as a baseline reference to measure JCL management the same way application code is tested, supported, and managed.
This JCL life cycle can then be used to:
- Identify and remove areas of risk
- Accommodate what you are doing now
- Develop a plan to move forward
Even though each installation is different, the model can be used to develop a formal methodology and make sure the process is appropriate. Then, we can study the state of JCL in each phase, how it is used in each phase, and how it evolves through the cycle. Just like application code, JCL is developed, tested, staged, and finally moved into production. After that, it goes into maintenance mode where it is edited, tested, staged, and moved back into production. The cycle continues to repeat itself.
JCL Best Practice #5 – Identify Critical Points of Automation
Once the JCL life cycle is identified, it is time to address automation. There are a variety of opportunities for this automation. There are several things you might consider, including:
“Now we have a clear picture of the JCL promotion process – What are the key points of automation? Definition of the functions to be automated…”
This scenario implies that the tools being used include an up-to-date database to identify the impact of any proposed changes, the proper discovery agents, and an open architecture that will enable automation and integration.
JCL Best Practice #6 – Create Standards for JCL
Standardize! Structure a JCL Standards Program as a method for reducing the number of production failures in the data center, and enhancing the success of other data center initiatives such as disaster recovery, automated SCM and data center consolidation. The primary aspect of JCL quality management is standardization.
As organizations grow and evolve, the need for standardization becomes even more important. Staff evolution introduces new and variable methods and practices for the data center. Technical evolution brings new opportunities and requirements for standardization.
The JCL Standards Program assists the data center in areas of identification/classification, operations performance, standard procedures, and disaster recovery. The program also precedes an effective automation of the regular, on-going SCM process. In conjunction with the appropriate software tools, effective standards help maintain the qualities of error-free JCL through the entire testing and implementation life cycle. The quality of your JCL should be ensured as programs move through development, change, testing, and implementation in the production environment.
An effective standards Program includes provisions for:
- Definition of standards
- Education of all participants
- Standards enforcement.
Without all three in place, any attempt at standardization will be ineffective. Start by recognizing the standards currently in effect and building on them. Automate that enforcement and incorporate a process for further refinements over time, realizing that they must be reasonable and enforceable.
JCL Best Practice #7 – Audit your JCL
Challenge JCL through an on-going audit procedure that eliminates obsolete, redundant and outdated parameters and elements. This is a continuous process of improvement. Since each installation is different, take care to recognize that this is best accomplished in a phased approach, yielding the most immediate results first.
Of course, critical to any continuous improvement process is the feedback mechanism to identify weak points that require attention. Gathering the right metrics at each stage of the JCL Lifecycle is essential for this activity.
The Evolution Of JCL
For organizations enjoying an incredibly low JCL error rate, why should we suggest doing anything different? The reason is that JCL is just like any programming product. Over time, the JCL code itself becomes “old and brittle.” We hear over and over, “Don’t change THAT, it might not work afterwards.” or “I don’t know whether I can take that out of the JCL or not – so I better leave it in. It doesn’t seem to hurt anything.” While this expediency is not unique to JCL, it can be even more problematic over time. This is because JCL is the most potent batch scripting language ever developed. Even though it lacks some of the currently favorite punctuation and syntactic rules that a computer scientist might find attractive, it can invoke the most sophisticated data processing applications ever written. Another characteristic is that z/OS will happily ignore unneeded parameters.
Often, because of expediency, we see JCL loaded with unused parameters. When that happens, the person who knows that a particular data set is managed by SMS also knows that the JCL parameters are superfluous. Unfortunately, someone else might think the block size parameter is important and seek to change it to a more storage-efficient value. This work then becomes a wasted effort and the confusion remains long after the work is completed. One JCL characteristic that distinguishes it from compiled languages, is that the processes it invokes and the data that the processes will work on can be changed at run-time. Even destinations for output can vary from one run to the next, based on variables like time of day or the day of the week.
Finally, JCL interacts with and invokes utilities that work in unison with the processing programs. The interaction includes products such as file allocation and manipulation tools like IDCAMS, backup/restore products, sort products, etc. Because of this, a simple element such as a data set name may appear either in the JCL itself or in a utility parameter file. Further, there is more than likely a symbolic variable in the JCL statements that will change the name of the actual data set to be used in a particular situation.
JCL Best Practice #8 – Make a decision
Well, here we are, a decade into the 21st century, and the IBM mainframe computers, once considered dinosaurs on the brink of extinction, are, arguably, more critical than ever in enabling major corporations to complete their IT mission. Mainframe computers and the requirement to run existing JCL-driven batch applications will be here well into the future. If JCL management is not addressed adequately, quality and efficiency will deteriorate, and the difficulty of maintaining a trouble-free batch environment will grow.
After considering the “Best Practices” approach to managing the JCL asset, the responsibility is with the cognizant manager. The alternatives include:
This assumes a level of contentment with the current situation. The level of JCL errors, inefficiencies, problems and the interruptions they cause are acceptable and that the enterprise is willing to cope with the loss of service and productivity they cause.
Do Something with Your Current JCL Product
By examining the capabilities of the currently installed JCL management tool(s), you can see and compare the attainable results with the ideals and concepts expressed by a knowledgeable “Best Practices” approach. Where the current product(s) fall short, there is a level of acceptance that this is a quality effort sufficient to meet the IT and corporate standards of excellence.
Consider A “Least Cost” Approach to JCL Management
This approach may be shortsighted in light of the recognition that the true costs of poor JCL asset management and the associated problems far outweigh the cost of installing a professional product such as JCLplus+ and the adoption of a “Best Practices” approach.
Using JcLplus+ From Software Engineering of America
When you accept the “Best Practices” approach and call on SEA, you are partnering with a company that can help you achieve immediate results in the area of JCL management. Our products and services have been serving the industry for over 30 years, providing the highest levels of quality in JCL management. The SEA professional team is available to work with your IT professionals to implement a solution customized to your installation and the needs of your corporate enterprise.