Sponsored content from Broadcom
GitHub, GitLab, BitBucket. What’s all the fuss?
There’s been a lot of hype around Git recently. For some, it may sound like a solution in search of a problem, but let’s take an objective look at its value from a mainframe perspective.
Git is the open source version control software that companies like GitHub and GitLab have built upon. The Git model, which is dominant throughout the rest of IT, has a few distinct benefits for mainframe appdev, a couple of which can be traced back to its genesis. Linus Torvalds created Git while he was building Linux, the first major open source project, which had a huge number of developers contributing code from across the globe. As a result, Git is a highly distributed and collaborative form of version control in contrast to the more centralized models used by forerunners like Endevor.
Fun fact #1: For those unfamiliar with Monty Python or other British pop culture, “Git” is a snarky insult. For more about the name, see Git’s Wikipedia entry.
Like Endevor’s evolution many years earlier, the Git vendors have evolved their version control tools into more comprehensive DevOps platforms with complementary capabilities, many of which map directly to Endevor’s. Once again, the cool, modern technology has a clear mainframe progenitor. But Git is the fabric of modern development, so most developers under 30 already know it and are comfortable with its workflows.
Fun fact #2: Endevor was DevOps long before “DevOps” existed: ENvironment for DEVelopment and OpeRations. See The History of DevOps.
For mainframe appdev, Git’s primary value add stems from both its distributed/collaborative design and its extraordinary market dominance:
1) Recruiting and onboarding the next generation
The retirement of career mainframe developers presents a significant business risk, requiring teams to quickly attract and onboard the next generation of talent. The next generation already knows and loves Git, so why not allow them to use these skills, ones they view as having broad career appeal?
2) Code reviews
Collaboration-centric code reviews, which ensure code has been peer-reviewed before being passed to quality assurance for testing, are a central concept within Git and without an analog in the mainframe world. Expressed as Pull or Merge Requests, reviews are formalized, contextual activities with comments aligned to code blocks. Code reviews improve quality and reliability and can be required as part of the software delivery process.
3) Change traceability
Git also identifies the source of code changes by linking back to artifacts (user stories, defects, etc.) maintained in upstream Agile/VSM tools like Rally and Jira. This visibility reduces MTTR and also provides the historical context for changes that, over time, can be used to manage resources more effectively.
4) Concurrent development
Managing concurrent development can seem chaotic, especially at scale, so purpose-built tools are essential. Advanced auto-merge capabilities assist with the concurrent development possibilities native to Git by addressing the occasional tricky merge scenarios. See the Git site for some of these scenarios.
The leading Git vendors also maintain ecosystems of complementary tooling across categories, like code scanning and test automation that increase software velocity and code quality. Many organizations have built their toolchains around these ecosystems. By maintaining code in a Git repo, they can be easily leveraged. As an example, see GitHub’s marketplace.
However, Git is not always necessary to make the most of complementary tooling. For example, code scanning can be done using the Zowe CLI rather than Git repos. Similarly, developer builds, which empower devs to code and test off-host using modern scripting, can also be accomplished using the Zowe CLI rather than Git.
Another important benefit to consider is the synergy between Git and modern IDEs like VS Code which have built-in Git capabilities but, again, developers can easily use VS Code with Endevor code with the Explorer for Endevor extension.
Finally, longer-term benefits of Git adoption, like infrastructure-as-code (aka GitOps), should also be factored into the overall evaluation of the technology.
With the use cases highlighted above offering value to development teams, it’s important to consider the biggest challenge with Git adoption: culture change. While some developers will know Git, the vast majority of career mainframe developers will not. Some may be open to learning Git, but forcing it on them could degrade productivity of the most productive staff and, worse still, accelerate retirements. Be prepared to address the cultural aspects of Git adoption from the outset.
Consider a Pragmatic Approach
Version control is the foundation of application development so any changes, especially introducing a new model like Git, should be addressed in a thoughtful and pragmatic way. Don’t upend existing, well-established workflows. Instead, introduce Git as an option for next-gens while career mainframers continue their work interrupted.
You shouldn’t expect immediate, jaw-dropping ROI with Git adoption, either. Like many initiatives that require a culture change, ROI should be considered in a strategic context and within the wider set of modernization opportunities, each with its own timeline and level of effort. To help assess the range of short- to mid-term modernization opportunities including Git, use the Modernization Roadmap tool and eBook to socialize the opportunities with fellow stakeholders and prioritize.
How Do We Adopt Git with the Mainframe?
Broadcom offers a range of Git options for the needs of every mainframe team, including support for the Hybrid model using the award-winning Endevor Bridge for Git and for the Git-native model using Team Build. More detailed blogs describing how to adopt Git are available on Medium.
IDC's perspective on this topic is available in a recently published Infobrief entitled, “Git and Mainframe Development: Considerations for Enterprises.” In it, Research Vice President for Software Development Arnal Dayaratna offers his perspective.
To help team members understand the tool, this handy Git Cheat Sheet maps Git workflows back to the current, Endevor-based process.
Take the time to consider Git adoption as a central theme in your modernization journey. Our expert Git Advisors are ready, willing and able to guide you.