Accelerating Mainframe Application Development and Delivery Takes More than Technology
Many of the IT professionals who attend my DevOps Transition Workshops say implementing DevOps technologies isn’t their biggest obstacle to accelerating mainframe application development and delivery. Rather, it’s changing traditional mindsets, thought patterns and methods regarding mainframe software development and delivery.
Transitioning from Waterfall to Agile, especially after delivering quality software for many years, can be as difficult as learning how to ride a bike with handlebars that point you in the opposite direction. If you’ve seen “The Backwards Brain Bicycle,” you know what I’m talking about:
What Acceleration Looks Like
Moving from Waterfall to Agile can be hard for many of us who have had very good careers and a solid track record for delivering quality software, but it can be done, and it’s the best path to accelerating mainframe application development and delivery. You have to figure out how to rewire your brain though. The best way to start is to understand the fundamental differences between the two development methods.
Requirements and Backlog Management
In Waterfall, teams attempt to nail down requirements before starting development. You typically don’t start coding until you have identified everything that needs to be done. The problem is, things change, so you can never identify everything you want or need at a point in time. When you have everything identified and finally in motion, but a requirement changes, the only solution is to go back and re-engineer the system to get closer to what customers want. This creates rework and lengthens the cycle time to get a system to production state.
In Agile, requirements are defined as epics and stories in a backlog. You work on these in short, time-boxed sprints and add capabilities and functionality in an iterative fashion. Essentially, you define a basic concept, seek feedback from users and proceed or pivot accordingly. It’s a constant, iterative cycle of feedback and development that reduces overall time-to-delivery and improves quality.
In Waterfall, complex and lengthy tasks are common. For large and complex system delivery, you can have work-items lasting six months, depending on scope and complexity—and because work is typically siloed, receiving limited feedback, deliverables can fail to meet customer expectations, which can create significant re-work, introducing opportunities for increased defects.
In Agile, work-items are segmented into small units that can be completed in two-week sprints, where Development, Testing, QA, Security and other stakeholders collaborate. Smaller units of work allow for better and faster feedback and minimize software re-design to accommodate miscommunicated or unknown requirements. Agile methods reduce defects or at the very least allow developers and testers to identify them quicker and earlier within the software delivery life cycle, lowering the cost of defect resolution.
More than Just DevOps
DevOps is a term or label to describe a framework of processes and tools to facilitate faster, better software delivery without sacrificing quality.
Modern, intuitive mainframe tools for program analysis, coding, unit testing and source code management that support iterative, Agile methods facilitate faster system delivery without quality sacrifice.
Combined with modern collaboration and agile management tools like Atlassian JIRA Software and orchestration tools like Jenkins, XebiaLabs, Atlassian Bamboo and others, software delivery on the mainframe, can be just as fast and efficient as software delivery on any other platform.
However, accelerating mainframe application development and delivery using Agile Development and its supporting tools ultimately requires a willingness to change the culture of your development organization. A culture change comes about by changing traditional mindsets, thought patterns and methods regarding mainframe software development and delivery.
We should be proud of the work we have done for many years leveraging the most modern and sophisticated business computing platform in the world, the mainframe. But it’s time to rethink how we deliver systems to that platform.
The work we have done has passed the test of time. It was and is good work, but we have to embrace new ways to deliver the same level of quality in a faster way.
It’s hard work, but digital transformation initiatives in large organizations will increasingly rely on the mainframe, so accelerating mainframe application development and delivery is something your organization can’t afford to overlook or give up on.
Are you a Compuware customer? Contact me at [email protected] to schedule a DevOps Transition Workshop to learn more how you can transform your software delivery methods for the mainframe.
What other challenges does your organization face with accelerating mainframe application development and delivery? Join the conversation on LinkedIn to let us know your thoughts.