DevOps.com
Where the world meets DevOps
Bringing Agility to Mainframes in COVID-19 and Beyond Leave a Comment Of the many ways this pandemic has shifted resources online, financial transactions are among the most critical. With the use of cash and checks grinding to a halt, transactions generated with our devices are increasing, and most of them are being completed on a mainframe. It’s not hyperbole to state that mainframes—the systems of record for major banks, investment houses and insurers—are helping to keep the world economy resilient, all without a single glitch. Related Posts Bringing Agility to Mainframes in COVID-19 and Beyond Compuware Shifts Mainframe App Testing Left Mainframes: The Cloud Before the Cloud Related Categories Blogs DevOps Practice Enterprise DevOps Related Topics agile devops digital transformation mainframe Show moreShow less Will the increases in online transactions be temporary while sheltering and social distancing are in place or does this mark a critical inflection point in the market? There are already signs that the online uptick is here to stay. J.D. Power research says approximately one-third of retail banking customers plan to increase their use of online and mobile banking services post COVID-19, with this percentage automate the execution of test cases on mainframe code.Technical obstacles have historically prevented the kind of “shift-left” automated testing that is commonplace in Java from being applied to mainframe development. Luckily, these obstacles have been removed and reliable automated unit testing can become a mainframe reality. Once unit testing is automated, organizations can extend automation to functional testing (to validate the implementation works as specified) as well as integration testing (evaluating if the collaboration between two or more programs works as expected) and ultimately improve an organization’s ability to accelerate innovation.Empower Developers: As mainframe applications have been expanded and enhanced over many years, they have typically become large and complex. They may also not be very well-documented. This combination of complexity and poor documentation is a major block to core transformation goals—including agility, confidence and efficiency. The undocumented idiosyncrasies of some mainframe applications and data structures tend to make enterprise IT highly dependent on the personal/tribal knowledge of senior mainframe staff. Worse yet, if a seasoned mainframe developer is no longer available, IT may be fearful of making any changes at all.Empowering developers means more than modernizing the mainframe development environment, as discussed above; it means making it much easier for any new participant/contributor to quickly “read” existing application logic, program interdependencies, data structures and data relationships. This enables them to work on even the most unfamiliar and complex systems with clarity and confidence—in essence, to be less reliant and more independent. It also means empowering developers to take on jobs that may have traditionally been done by a testing team, e.g. unit testing, or a DBA, e.g. test data setup to remove bottlenecks and speed delivery.Training: Once an organization has the right development environment in place, it can start shifting its process from a traditional waterfall model with large sets of requirements and long project timelines to a more incremental model. The move from large-scale waterfall projects to Agile represents a significant change in work culture for most mainframe teams. Training in Agile processes and work culture is really a must.Technical leadership roles and product owners, in particular, need in-depth training and coaching. All team members should have at least some formal introduction to basic Agile concepts. To ensure that mainframe development is not left behind, organizations should consider pairing mainframe developers with agile-experienced developers from other platforms.Include Mainframe Code in All Aspects of the DevOps Toolchain: If an organization fails to include mainframe code in all aspects of the DevOps toolchain, there will always be one code component (mainframe) that slows down the rest of the DevOps process. To truly enable DevOps and Agile on the mainframe, mainframe code must integrate easily and seamlessly with other tools in the end-to-end toolchain, including Jenkins, Digital.ai, Slack, CloudBees and others.Among the processes that must be integrated and automated include source code management (SCM). The shift from waterfall-based SCM to Agile-enabling SCM is a pivotal moment in mainframe transformation—an absolutely essential shift if an organization’s goal is to increase the speed and frequency of new mainframe code drops, optimize developer productivity and simplify end-to-end management of the software development life cycle.Organizations also need to be able to pinpoint mainframe code deployment issues as soon as they occur, so immediate corrective action can be taken. If such corrective action does not produce its expected effect, there must be the ability to quickly and automatically fall back to the previous working version of the application. This automated fallback is, in fact, a key enabler of rapid deployment and particularly important for mainframe code, since it is the primary means of mitigating the business risk associated with the promotion of mission-critical code.Enable Coordinated Cross-Platform Continuous Delivery: Mainframe applications and data increasingly serve as a back-end resource for multi-platform customer- and employee-facing applications that include mobile, web and/or cloud components. DevOps teams therefore must be able to fully synchronize the delivery of new, approved code across all platforms. This is the desired state of enterprise DevOps: a de-siloed environment where the mainframe is “just another platform” that can be quickly and appropriately modified to meet the needs of the business.ConclusionFrom the changes in the daily commute to the way we buy food, the COVID-19 pandemic is likely to exert long-lasting, sweeping changes in the ways we live and our preferences. As more people become accustomed to conducting more of their day-to-day activities online—including banking but so much more—mainframe development will be required to exhibit higher levels of agility than ever before. The tips described here can help organizations transform their venerable mainframes into platforms for innovation and become an autonomous digital enterprise that can thrive during seismic changes. After all, those who do this the best are likely not to be hampered by COVID-19’s enduring imprint on society. DevOps Practice, digital transformation, Click to share on Facebook (Opens in new window)Like this:Like Loading... Sponsored ContentFeatured eBook Embedded Analytics Essentials: A Checklist for Success »
Leave a Comment
Of the many ways this pandemic has shifted resources online, financial transactions are among the most critical. With the use of cash and checks grinding to a halt, transactions generated with our devices are increasing, and most of them are being completed on a mainframe. It’s not hyperbole to state that mainframes—the systems of record for major banks, investment houses and insurers—are helping to keep the world economy resilient, all without a single glitch.
Will the increases in online transactions be temporary while sheltering and social distancing are in place or does this mark a critical inflection point in the market? There are already signs that the online uptick is here to stay. J.D. Power research says approximately one-third of retail banking customers plan to increase their use of online and mobile banking services post COVID-19, with this percentage automate the execution of test cases on mainframe code.
Technical obstacles have historically prevented the kind of “shift-left” automated testing that is commonplace in Java from being applied to mainframe development. Luckily, these obstacles have been removed and reliable automated unit testing can become a mainframe reality. Once unit testing is automated, organizations can extend automation to functional testing (to validate the implementation works as specified) as well as integration testing (evaluating if the collaboration between two or more programs works as expected) and ultimately improve an organization’s ability to accelerate innovation.
Empower Developers: As mainframe applications have been expanded and enhanced over many years, they have typically become large and complex. They may also not be very well-documented. This combination of complexity and poor documentation is a major block to core transformation goals—including agility, confidence and efficiency. The undocumented idiosyncrasies of some mainframe applications and data structures tend to make enterprise IT highly dependent on the personal/tribal knowledge of senior mainframe staff. Worse yet, if a seasoned mainframe developer is no longer available, IT may be fearful of making any changes at all.
Empowering developers means more than modernizing the mainframe development environment, as discussed above; it means making it much easier for any new participant/contributor to quickly “read” existing application logic, program interdependencies, data structures and data relationships. This enables them to work on even the most unfamiliar and complex systems with clarity and confidence—in essence, to be less reliant and more independent. It also means empowering developers to take on jobs that may have traditionally been done by a testing team, e.g. unit testing, or a DBA, e.g. test data setup to remove bottlenecks and speed delivery.
Training: Once an organization has the right development environment in place, it can start shifting its process from a traditional waterfall model with large sets of requirements and long project timelines to a more incremental model. The move from large-scale waterfall projects to Agile represents a significant change in work culture for most mainframe teams. Training in Agile processes and work culture is really a must.
Technical leadership roles and product owners, in particular, need in-depth training and coaching. All team members should have at least some formal introduction to basic Agile concepts. To ensure that mainframe development is not left behind, organizations should consider pairing mainframe developers with agile-experienced developers from other platforms.
Include Mainframe Code in All Aspects of the DevOps Toolchain: If an organization fails to include mainframe code in all aspects of the DevOps toolchain, there will always be one code component (mainframe) that slows down the rest of the DevOps process. To truly enable DevOps and Agile on the mainframe, mainframe code must integrate easily and seamlessly with other tools in the end-to-end toolchain, including Jenkins, Digital.ai, Slack, CloudBees and others.
Among the processes that must be integrated and automated include source code management (SCM). The shift from waterfall-based SCM to Agile-enabling SCM is a pivotal moment in mainframe transformation—an absolutely essential shift if an organization’s goal is to increase the speed and frequency of new mainframe code drops, optimize developer productivity and simplify end-to-end management of the software development life cycle.
Organizations also need to be able to pinpoint mainframe code deployment issues as soon as they occur, so immediate corrective action can be taken. If such corrective action does not produce its expected effect, there must be the ability to quickly and automatically fall back to the previous working version of the application. This automated fallback is, in fact, a key enabler of rapid deployment and particularly important for mainframe code, since it is the primary means of mitigating the business risk associated with the promotion of mission-critical code.
Enable Coordinated Cross-Platform Continuous Delivery: Mainframe applications and data increasingly serve as a back-end resource for multi-platform customer- and employee-facing applications that include mobile, web and/or cloud components. DevOps teams therefore must be able to fully synchronize the delivery of new, approved code across all platforms.
This is the desired state of enterprise DevOps: a de-siloed environment where the mainframe is “just another platform” that can be quickly and appropriately modified to meet the needs of the business.
From the changes in the daily commute to the way we buy food, the COVID-19 pandemic is likely to exert long-lasting, sweeping changes in the ways we live and our preferences. As more people become accustomed to conducting more of their day-to-day activities online—including banking but so much more—mainframe development will be required to exhibit higher levels of agility than ever before. The tips described here can help organizations transform their venerable mainframes into platforms for innovation and become an autonomous digital enterprise that can thrive during seismic changes. After all, those who do this the best are likely not to be hampered by COVID-19’s enduring imprint on society.