Peter Walz, a system engineer at the University of Minnesota, is one of the more than 1,300 IT professionals whose daily work supports the University of Minnesota’s mission of research, education, and outreach. Those IT staff provide services and support to 60,000 students and 20,000 faculty and staff members that are spread across five campuses, including Minneapolis and Saint Paul, Duluth, Rochester, Crookston, and Morris, Minnesota.
With that many users so widely distributed, so too are the IT professionals, who are spread across 230 departments and administrative units. The University’s model is distributed, but integrated according to Walz.
There is a good amount of cross-department collaboration that goes on between IT staff, so we’re not all isolated in our different areas.
The need for an effective tool to facilitate that collaboration drove the decision to adopt GitHub in the first place.
People were looking for a better way to collaborate on code across departments - ‘a social network for collaborating on code’, Walz said. One group on campus, Code-People, was the catalyst behind the change. The group of developers, which meets monthly, saw the value in having a tool like GitHub and worked to make it available at the University. Eventually, they were able to demonstrate the business value of GitHub, and it became a common-good service for everyone at the school.
We liked GitHub because it was a nicer product to use, with the ‘extras’ it provides - pull requests, issues, wikis, and other features, Walz commented.
In the end, pricing was a big factor, too. Walz continued with more pluses for his team.
With the help of Git, we’re seeing faster code pushes and pulls. We also take advantage of GitHub’s collaboration tools, for both code and the processes (such as issue tracking) and documentation needed around the code.
Working at a University, Walz sees some unique uses for the GitHub platform.
Quite a variety of people use GitHub on campus, he said.
We have students using it in their computer science classes, programmers using it for various tools and projects, system administrators using it for storing configuration files and system deployment recipes, and even designers using it for storing Drupal site data.
GitHub offers a unique licensing option for universities that allows students, student-facing faculty, academic non-profit researchers, and other University members to use GitHub while keeping things simple for administrators.
We have a script that is used by Computer Science instructors for their classes: given a token, a GitHub organization, and a list of students, it automatically sets up the repos, teams, and permissions needed for the class, Walz mentioned.
Some people use GitHub to manage their shell initialization scripts across multiple systems. Having a consistent shell environment across systems is nice at the very least, and can save time by allowing administrators to use shell shortcuts they’ve developed.
Prior to having GitHub on campus, I don’t think there was much experience with it. Now it’s the tool of choice, including for some open source projects hosted on GitHub, Walz continued.
We’ve had groups (Code-People and DevOps, mainly) deliver a number of talks on using GitHub. There has also been quite a bit of knowledge sharing between departments.
Although a University setting can provide unusual challenges for IT staff, it also comes with opportunities to work on new projects.
The University tends to be a very flexible and friendly environment to work in - some workplaces can be pretty cutthroat, but you don’t usually see that around here. We’re willing to take an open-source approach to things, whether that’s literally open-sourcing a project, or allowing community demand to drive the adoption of GitHub or some other technology. There’s a lot of desire to do collaboration, without too much competition between departments.
Walz and the IT team are improving efficiency and collaboration while at the same time reducing unnecessary communication that slows progress.
Being able to use pull requests is a big workflow improvement - you can easily see what changes are about to be made before they’re merged in. You can also comment on individual lines, which makes it much easier to discuss what’s going on, Walz said.
Previously, we’d get emails for every single commit, and they weren’t always relevant to our work. GitHub improved the signal-to-noise ratio pretty significantly. Also an essential feature of the GitHub workflow, Code Review facilitates conversation around a project without spamming your inbox.
Walz has also seen a reduced impact on IT administration time since GitHub allows users to set permissions and self-service on support issues.
The ability for people to fix their own repository issues is huge - it saves a large amount of staff time on the IT administration side. GitHub also saves time by integrating with a number of commonly-used tools at the University — the most common being Slack, Travis, HipChat, and Waffle.io.
For people that are used to a different Version Control System, it can be hard to wrap your mind around how Git and GitHub operate. The whole concept of checking out and checking in is gone, Walz said.
The fact that you have a complete and offline copy of a repo is useful - it doesn’t matter if you don’t have connectivity while working. You can just push up your commits when you have connectivity again. Having more granular permissions is great, and and teams love having the ability to set their own permissions. If I had to describe what GitHub’s done for us in a few words, I’d say: simplified cross-departmental collaboration.
Start collaborating with your team on GitHub
Advanced collaboration and support for teams
Security, compliance, and flexible deployment for enterprises
Want to use GitHub on your own? Check out our plans for individuals