Why all developers should do their chores

How technical debt can become a shared responsibility

Working at scale

Infrastructure and tooling

We use Selenium to monitor browser tests on the products we maintain. This shows a particularly stormy day when our staging infrastructure was down. [Screenshot of Jenkins, own work, Creative Commons Attribution-Share Alike 3.0 Unported license.]

Infrastructure is only good if you look at it

  • vexed when nobody had noticed a regression in production caught by our browser tests.
  • concerned by any unusual and un-investigated errors in Logstash.
  • inadequate when we began drowning in triaging tickets from community members
  • upset about all the unknown client-side errors that our users were surely experiencing but not able to tell us.

Enter the chores list!

A non-technical re-enactment of how a chores list might work in a team of dogs. Source: imgurl, thund3rbolt License: Fair use

Executing a chores list

That feeling when you know the big spike in errors on the left was because of something your team did… [Screenshot of Grafana, own work, Creative Commons Attribution-Share Alike 3.0 Unported license.]
  • it was useful to pull in people from other teams
  • we got to send each other GIFs
  • We struggled to agree on whether the subject header date format should be “Chores: Thursday, 16th March”, or “Chores 16th March” or “Chores 16/03/18” (you get the idea).
  • The lack of a consistent subject header, made it hard for us to access historical information
  • This also made it hard for us to set up the appropriate email filters for a daily email.
  • Half the team really liked emails laid out in rich text format tables while the other half wanted plain text.
  • We were duplicating efforts in debugging the same bugs our browser tests had uncovered
  • Certain chores were being neglected for weeks without us realizing
Chore wheel over e-mail created problems with subject formatting and format. [Screenshot of Google Inbox, own work, Creative Commons Attribution-Share Alike 3.0 Unported license.]
Chores in the wiki page format [Screenshot, own work, Creative Commons Attribution-Share Alike 3.0 Unported license.]

Why every team should have its own chore list

  • When we started out there were hundreds of server-side errors being experienced by users in obscure parts of our interface. Now, two years later, it’s quite rare for one to show up there, which feels good.
  • Bugs are rarely making it to production (we’ve experienced less emergency hot fixing)
  • We’ve become more aware of how banners from our fundraising team and volunteers severely impact our performance (e.g. this bug)
  • Our backlog has shrunk from around 400 to 153 open bugs thanks to a shared responsibility in triaging.
Our backlog has shrunk to a much more manageable rate since we began our chores rota in 2016. [Screenshot, own work, Creative Commons Attribution-Share Alike 3.0 Unported license.]
Our team really “ups the ante” and bonds in rather creative ways. Here’s a mash up of our team and some puppies. Source: Alex Hollender (License: Fair use).

Footnotes

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jon Robson (David Lyall)

Travel fanatic, writer, web dev british hippyster on a mission to make the web all happy with rainbows, unicorns etc