Over the last few weeks I’ve been refining the Git training course I developed with Tim by testing it on various OptimalBI employees. Git being a version control system intended for use by software developers, I selected my first rounds of guinea pigs from our resident pool of programmers. But this week, I had the pleasure of trialling the course with Bronnie and Geoff, both non-technical staff with zero programming experience. I was delighted to find that both Geoff and Bronnie picked up the handful of command-line prompts I taught them within moments, and had no problems using their terminal shells to navigate their file systems.
So far so good. But why even bother teaching Git to staff who work on the business end of the OptimalBI skill spectrum? Neither Geoff nor Bronnie writes any code, what possible use do people who aren’t developers have for a version control system like Git?
As it turns out, there are many reasons to learn Git even if you aren’t a programmer; you don’t need to be able to tell a class from a function to get a wealth of value out of just a basic grasp of Git fundamentals. Here are just three reasons why Git is great for muggles too:
Git isn’t just for code
Git is a social infrastructure
Git isn’t about code or development: it’s about structuring teamwork effectively. At face value, Git looks like software, pure and simple. A system for tracking and recording changes to files, and enabling distributed workflow. And this is true! But there’s
more to it than that. Because Git is such a powerful and flexible system, its adoption comes bundled with a system of conventions and a culture of use that transcends the development process and enforces better collaboration and communication for the whole team. This includes team members who aren’t there to write code; managers, coordinators, analysts and all. You don’t need to be able to resolve a rebase conflict, but you’ll benefit enormously from understanding your dev team’s workflow, and the conventions they use to govern it. Good Gitflow needs to be managed and understood by everyone in the team, not just the developers if Git’s full value as a version control system is going to be realised.
Git makes you more Agile
Git supports and enhances Agile; it’s built to be integrated into an Agile workflow. Git is built for iteration, for breaking down large projects into small issues. Git’s branching model allows an Agile team to break each issue onto a separate branch, and the pull request convention creates documentation responsively, as needed. The convention of a ship-ready Master branch keeps release cycles short. Sprints are encapsulated in a branch structure. The language, conventions and mindset of Git support teams to work in an agile way. As I said before, you don’t have to be writing code to use Git to improve your workflow; if you’re an Agile team, Git is a great system for supporting the Agile mindset with defined conventions and practices as well as the software solution to enable and embed them.
Do it once, do it right. Or else, you’d better use Git – Sarah
Sarah uses Git to manage her learning process as she develops fancy graphs.
Want to read more? Try … A Brief and Incomplete History of Data Visualisation – Part 1, or more from Sarah.
We run regular business intelligence courses in both Wellington and Auckland.