After more than 40 years of investment, Enterprise IT runs the business world on applications that span many different development methodologies and infrastructure architectures — from mainframe to mobile. In today's digital age, delivering new application innovation faster is imperative to driving business success. As such, to remain competitive, large enterprise IT organizations must scale DevOps practices across their traditional and hybrid IT environments.
For many of the world's largest enterprises, the mainframe is the core business engine. Over 90 percent of the top 100 banks and all of the top 10 insurance companies use mainframes. COBOL applications connect 500 million mobile users on a daily basis and power 70 percent of all business transactions. There are far more COBOL transactions per day than Google and YouTube searches combined.
Yet mainframe teams still struggle with scaling DevOps practices. To start, improving mainframe collaboration and technical flexibility is challenging, as teams are often siloed and used to working with long established, non-Agile development practices. This can lead to a lack of cross-team engagement and collaboration. Additionally, change on the mainframe requires specialized development tools and iterative, linear processes that creates bottlenecks. Finally, testing capacity for the mainframe is inflexible and cost prohibitive – creating yet another roadblock when it comes to successfully growing out DevOps practices.
The key to mainframe DevOps success is in quickly identifying and removing major bottlenecks in the application delivery lifecycle. Major challenges include collaboration between mainframe and distributed teams, lack of visibility into the impact of software changes, and limited resource flexibility with scaling out necessary testing initiatives. Now let's take a closer look at some of these key challenges and how IT departments can address them.
Lack of Collaboration Between Mainframe and Distributed Teams
The mainframe has historically existed in its own silo, running separately from the rest of IT. To those on the outside, it has always been viewed as a ‘black box' rather than a cross-functional component of the department. Most mainframe organizations are centralized with specialized highly-skilled experts who are organized into separate groups. Over the years, they have developed mature processes with a set of mainframe-specific tools to manage software changes slowly and deliberately. This has produced an incredibly stable and reliable platform.
So what's the problem? To scale DevOps practices and deliver at the speed the business requires, siloes must be removed from the mainframe. However, the idea of breaking up the mainframe silo is a bit unsettling to the mainframe community. Culturally, the mainframe community looks at the world in a way that puts itself in conflict with the more dynamic nature of DevOps. There needs to be a cultural shift driving this change toward inclusiveness, especially as older IT workers retire. Millennials will be replacing the baby boomer mainframe software developers and will demand modern mainframe tools and practices. To help, senior management will need to break down the barriers between mainframe and distributed application teams and treat the mainframe like any other enterprise IT platform.
Lack of Visibility into the Impact of Software Change
Today's modern n-tier architecture is supported by many different teams, processes, and toolchains across many different platforms and application infrastructures. Lack of visibility into the impact that software change will have on applications makes it difficult to gain an integrated, real-time view across the deployment pipelines. This creates many blind spots where organizations must rely on doing manual work – pushing defects downstream and driving rework numbers up.
Limited Resource Flexibility to Scale Necessary Testing
Traditionally mainframe delivery processes are based on a sequential, waterfall method for planning and resource allocation. Precious mainframe resources – specifically machine and human – are also time-bound, which creates a rigid framework where flexibility and scale is difficult. Missed delivery milestones can lead to long delays until mainframe resources are available again. This rigid framework is incompatible with DevOps practices and a major constraint for mainframe development teams.
While mainframe challenges are vast and varied, they definitely aren't unsurmountable. In part 2 of this series on taking a low risk approach to mainframe DevOps, I'll delve into specifics around how teams can capture value along each step of the journey.