3. What about IBM i?
Why would you store your RPG or COBOL sources in Git/GitHub? What are the advantages over and above the change management tools traditionally found in IBM i environments? Is this even conceivable for the many “heritage” IBM i applications that are still running the world’s most critical business operations today?
YES! Without a shadow of a doubt.
In my job modernizing IBM i development processes and environments I’ve come across many IT professionals who are still sceptical even today. IBM i developers are bizarrely in most respects both seen as the inventors of DevOps (with their structured change management and deployment processes, designed for minimal risk, some would say that RPG developers invented DevOps), and yet they can still be the most reticent to change. To some, the Git culture can seem a generation (or two) away. To these sceptics I would say: “Aren’t IBM i applications precisely designed to serve the business? Don’t their users have increasingly pressing requirements? Why on earth would you leave them aside?”. Git is all the more relevant to IBM i applications knowing that these precious and trusted applications usually encapsulate the most critical parts of the information system and often represent the unique competitive advantage on which IBM i companies have built their successful business models around.
4. Git myths to dispel – the technical ones
In your mission to bring Git benefits to IBM i, you will no doubt come across some technical questions that you will need to counter. Some classic examples:
Q1. “But can IBM i applications – with their “proprietary” file system – actually fit into a standard tool like Git?”
Yes, they can! IBM has greatly contributed by modernizing the IBM i platform over the years. And the remaining integration work to make Git enterprise-ready on IBM i has been developed by ARCAD Software. With ARCAD’s Git integration you can manage 100% of your IBM i application components as “sources” in Git (and yes, even the so-called “sourceless” objects).
Q2. “IBM i applications are just too large to be managed in Git”
Quite the opposite! Because Git works by “delta” changes, it is particularly well suited to high volume applications such as those on IBM i.
Q3. “OK so maybe there are no technical obstacles to Git on IBM i – but what is in it for my team?”
The return on investment (ROI) of a DevOps approach is well documented and universally understood. But over and above the ROI, both Git and Jenkins bring measurable benefits to the development team itself.
1. More developer “value-add” time available
When used together, the DevOps automation tools Jenkins and ARCAD Builder attain 100% automation of the build (recompilation) process. This frees developers from tedious repetitive and often manual tasks such as integrity checks and script maintenance. Developers can focus their time on their real job of creative and value-add tasks to innovate and support the business!
2. Understanding other people’s code
Which developer on the planet hasn’t racked his brain to understand why this chunk of code has been written this way? And looked around to find someone to explain why? (Only to discover that the author left a while ago and never thought that comprehensive documentation would be necessary!)
This kind of situation is common and a huge potential “time waster” and bottleneck in the acceleration of your development processes. It is also one area where the collaborative tools like GitHub deliver the biggest benefit.
GitHub and others let you look back in time, down to the very finest detail, to understand the reasons behind that code and why it was written that way. By understanding the logic better, your code changes are certainly faster and far less likely to introduce hidden defects.
Also, with GitHub, code review mechanisms are built-in to the standard workflow. Peer review becomes an integral part of development. All exchanges between developers and the explanations they share are safely stored for future reference. This conversational history is rich code “intelligence” for any future developer…
To prove the point, let’s just consider how open source developers work. Without even knowing each other, and often geographically distributed to the far-flung corners of the globe, they develop and collaborate on highly complex projects in a totally decentralized way. Git makes all this possible. It’s no accident that there are literally millions of open source application repositories on GitHub!
3. “Pull Request”: a validation workflow for code merge
The other big GitHub contribution to DevOps is the validation workflow for the merging of code branches: the so-called “pull request”. DevOps is all about automating the non-creative parts of software development. That means everything except the art of coding itself!
The greater the automation, the lower the risk of error, and the more secure your system. A fully auditable process cures the compliance headaches of pre-DevOps days.
5. How can ARCAD’s team help you?
With all these advantages – I hope I have been able to dispel some of the myths about Git, and helped you take one step further towards embracing Git on IBM i. ARCAD’s customers see our work together as an essential element in their DevOps success on IBM i. The deep Git integrations and specific IBM i Git methodology that come by default with ARCAD for DevOps render these industry-standard tools workable on IBM i – with a custom Git development environment friendly enough to onboard the most reticent of IBM i die-hards… ARCAD’s hybrid model even allows your 5250 developers to work alongside your RDi developers, all sharing the same powerful versioning features of Git!
A clear advantage behind ARCAD when implementing Git and Jenkins on IBM i is undoubtedly ARCAD’s unique metadata repository architecture. Every developer, operator, tester and IT manager derives value from this repository as it is updated in real-time as developers code. The dependency knowledge contained within the ARCAD repository delivers massive automation potential to minimize risk and cost right across the software development lifecycle:
- Early detection of defects with dependency-based Test Automation eliminating all repeat effort in the QA process
- Rapid debug / re-work / re-test / re-deploy effort driven by detailed cross-reference knowledge
- Automated Peer Review / code quality checking to detect quality violations and security vulnerabilities at the very point they are introduced
- Stable, Seamless and Proven Integrations with industry standard, cross-technology enterprise tools including Git, Jenkins, Azure DevOps, Jira and ServiceNow.
Empower your IBM i teams – and see for yourself the unbridled potential of Git on IBM i, check out our “Git Ahead” Webinar below…