Chapter 36 Quiz: DevOps for the Mainframe
Multiple Choice (Questions 1-15)
1. What is the threshold concept for this chapter?
A) DevOps is only for distributed systems and cannot work on z/OS B) The mainframe is just another platform in the pipeline — once you stop treating z/OS as special, CI/CD works C) The mainframe requires completely different DevOps tools from distributed systems D) DevOps replaces all traditional mainframe processes immediately
Answer: B — The threshold concept is that once DevOps engineers stop treating z/OS as a special case and start treating it as another deployment target in the pipeline, CI/CD practices work the same as they do for any other platform.
2. Which of the following is NOT a benefit of adopting Git for COBOL source management?
A) Branching and merging for concurrent development B) Full history of every change by every developer C) Automatic conversion of COBOL programs to Java D) Integration with CI/CD tools and IDEs
Answer: C — Git provides version control, branching/merging, history, and tool integration. It does not convert COBOL to Java — that would be a separate translation tool.
3. In the SCLM/Endevor-to-Git migration approach described in this chapter, what is Phase 2 (Dual-Write)?
A) Developers commit to Git only, and SCLM/Endevor is retired B) Developers make changes in Git first, then apply to SCLM/Endevor for production promotion C) SCLM/Endevor is synchronized to Git nightly as a read-only mirror D) Both systems are replaced by a third tool
Answer: B — Dual-Write means developers begin making changes in Git (primary) while also applying changes to SCLM/Endevor for production promotion. This builds Git skills while maintaining the existing safety net.
4. The .gitattributes file in a COBOL z/OS project primarily handles:
A) Code formatting standards B) EBCDIC-to-ASCII/UTF-8 encoding conversion rules C) COBOL compiler options D) JCL parameter substitution
Answer: B — The .gitattributes file specifies how Git handles the encoding conversion between EBCDIC (on z/OS) and ASCII/UTF-8 (on developer workstations), ensuring transparent encoding management.
5. What does IBM Dependency Based Build (DBB) provide that traditional JCL-based compilation does not?
A) Faster compilation of individual programs B) Dependency analysis that determines which programs need recompilation when a copybook changes C) Automatic COBOL-to-Java translation D) Git repository management
Answer: B — DBB analyzes COPY statements and CALL relationships to build a dependency graph, enabling incremental builds where only changed programs and their dependents are recompiled.
6. In the CI/CD pipeline described in this chapter, which stage requires manual approval?
A) Checkout B) Build C) Unit Test D) Deploy to Production
Answer: D — Production deployment includes a manual approval gate (input directive in Jenkins) that requires a release manager's authorization. Lower environment deployments are automated.
7. What is the primary challenge of automated testing on the mainframe?
A) z/OS cannot execute test programs B) The absence of existing automated test suites, not the lack of testing tools C) COBOL cannot be unit tested D) Jenkins cannot connect to z/OS
Answer: B — Testing frameworks exist (IBM zUnit, Compuware Topaz, etc.). The challenge is that most mainframe shops have few or no automated tests because the development culture evolved before automated testing was standard practice.
8. A zUnit test for a COBOL paragraph works by:
A) Converting the COBOL paragraph to Java and running JUnit B) Setting up input data in WORKING-STORAGE, PERFORMing the target paragraph, and verifying output fields C) Running the entire COBOL program with test JCL D) Comparing source code diffs between versions
Answer: B — zUnit tests set up specific values in WORKING-STORAGE and LINKAGE SECTION fields, PERFORM the target paragraph in isolation, and then verify that output fields contain expected values.
9. When mocking a VSAM file for unit testing, the recommended approach is:
A) Create an in-memory simulation of the VSAM access method B) Use JCL DD overrides to redirect file I/O to test-specific VSAM files loaded with known data C) Modify the COBOL source to skip file I/O during testing D) Use a distributed database instead of VSAM
Answer: B — JCL DD overrides redirect the program's file access from production datasets to test datasets containing known data, without modifying the COBOL source code.
10. In blue-green deployment on z/OS, what is the primary mechanism for switching traffic between environments?
A) Restarting the z/OS LPAR B) Gradually shifting traffic through a load balancer from Blue CICS regions to Green CICS regions C) Renaming the production libraries D) Recompiling all programs with different options
Answer: B — Blue-green deployment uses a load balancer to shift traffic gradually (10% -> 25% -> 50% -> 100%) from the current production CICS regions (Blue) to the new version (Green), with the ability to shift back immediately if problems are detected.
11. Why is DB2 schema change rollback described as "the hard part" of deployment rollback?
A) DB2 does not support ALTER TABLE statements B) ALTER TABLE operations (like adding columns) are not easily reversed, requiring advance planning for backward-compatible schema changes C) DB2 on z/OS does not support online schema changes D) DB2 rollback is only possible with a full database restore
Answer: B — Schema changes like ALTER TABLE ADD COLUMN are difficult to undo because the column cannot be easily removed once added. This requires deploying backward-compatible schema changes in advance of the code that uses them.
12. The four DORA metrics for measuring DevOps performance are:
A) Lines of code, bug count, developer count, server count B) Deployment frequency, lead time, change failure rate, mean time to recovery C) CPU utilization, memory usage, I/O rate, network throughput D) Git commits, branches, pull requests, merge conflicts
Answer: B — The DORA (DevOps Research and Assessment) metrics are: deployment frequency (how often you deploy), lead time (commit to production time), change failure rate (% of deployments causing incidents), and MTTR (recovery time from failures).
13. Sandra's "deployment package" concept at Federal Benefits ensures that:
A) Each program is deployed individually for granular control B) All related changes (load modules, DB2, JCL, copybooks) are deployed and rolled back as a single unit C) Deployments happen only during maintenance windows D) Only one developer can deploy at a time
Answer: B — A deployment package is a named, versioned, immutable collection of all related changes that must be deployed together and rolled back together, ensuring consistency across interdependent changes.
14. Which of the following is the MOST effective strategy for handling cultural resistance to DevOps from veteran mainframe developers?
A) Mandate adoption and set a hard deadline for compliance B) Start with read-only tools (Git for viewing code history), build trust, then expand to active use C) Have distributed systems developers demonstrate how DevOps works on Java projects D) Replace resistant developers with new hires who already know DevOps
Answer: B — Starting with low-risk, read-only exposure (viewing code in Git, reading pipeline results) builds familiarity and trust. Expanding to active use after developers see the value is more effective than mandates or demonstrations with irrelevant technology stacks.
15. Rob Chen's quote — "I'd rather learn Git at 57 than watch the mainframe die because we were too stubborn to change" — illustrates which aspect of DevOps adoption?
A) The technical superiority of Git over SCLM B) The recognition by veteran developers that the platform's survival requires process evolution C) The ease of learning Git for experienced developers D) The inevitability of mainframe decommissioning
Answer: B — Rob's quote captures the moment when a veteran developer recognizes that maintaining outdated processes threatens the platform's relevance and sustainability, making process evolution a necessity rather than a luxury.
True/False (Questions 16-20)
16. COBOL source stored in EBCDIC on z/OS cannot be managed in a Git repository.
Answer: FALSE — The .gitattributes file and tools like Zowe CLI and IBM Rocket Git handle EBCDIC-to-ASCII/UTF-8 encoding conversion transparently. COBOL in EBCDIC is routinely managed in Git repositories.
17. IBM Dependency Based Build (DBB) can determine which COBOL programs need recompilation when a shared copybook is modified, recompiling only the affected programs.
Answer: TRUE — DBB analyzes COPY statement relationships to build a dependency graph, enabling incremental builds that recompile only changed programs and their dependents.
18. In the Jenkinsfile described in this chapter, the Deploy to QA stage is triggered automatically for changes on the develop branch, while Deploy to Production requires manual approval.
Answer: TRUE — The when { branch 'develop' } condition triggers QA deployment automatically, while the input { message 'Deploy to production?' submitter 'release-managers' } directive requires explicit human approval for production.
19. Automated rollback after a failed deployment should always wait for human intervention before executing.
Answer: FALSE — The chapter describes automatic rollback triggers: if critical metrics exceed thresholds within 30 minutes of deployment, automatic rollback is initiated without waiting for human intervention, minimizing the impact of failed deployments.
20. At SecureFirst, developer satisfaction with the DevOps toolchain rose from 28% at introduction to 71% at twelve months, with the biggest satisfaction driver being "time saved on deployment."
Answer: TRUE — Yuki's quarterly surveys tracked this improvement, demonstrating that cultural acceptance grows as developers experience the practical time savings from automated processes.