GitHub as a team sport

DfT QA Month

May 23, 2024

tl;dr

  • ‘Quality’ isn’t just good code
  • Teamwork makes the dream work
  • GitHub is a communication tool

About us

The Strategy Unit (SU)

The Data Science Team

GitHub at the SU

This talk

What this is

  • Low-tech, no code
  • Tips and etiquette, not directives
  • What’s been working for us

The ‘bus factor’ 🚍

  • We should maintain quality
  • We need redundancy
  • Standardised processes can help

‘Rules’

  • It’s the spirit that counts
  • Do as I say, not as I do
  • Know why you’re breaking the rules

What we do

GitHub flow

  1. Create a repository
  2. Write issues
  3. Plan
  4. Create a branch
  5. Make a pull request
  6. Review
  7. Release

Repositories

Issues

  • Aren’t just ‘problems’
  • Use labels, including MoSCoW
  • Explain the need, be informative

Plan

  • Talk, review and reflect
  • Use labels to prioritise
  • Sort into milestones

Branches

Commits

  • Don’t commit to main!
  • ‘Small, early and often’
  • Make messages meaningful

Pull requests (PRs)

Reviewing PRs

Releases

Surprise twist…

GitHub is a team member

Be a good sport

Are we curling? 🥌

We:

  • are a small team
  • assume specialist roles
  • work in sync

The bottom line, actually

  1. Communicate
  2. Help each other
  3. Be kind