This week we made a change to our pull request template. Before when creating a new PR you’d see this:
Now it all fits on one screen:
The old template had gotten out of hand. There were 4 sections at least 5 checklists to fill out; it was a lot for a PR author to take in, particularly if you did it often.
Every individual item in the template wasn’t bad, but there were just too many. Once you’ve seen the template a few times, you’d start to ignore it rather than deal with the entirety of it every time. At best it would waste a little bit of time, at worst it would get ignored.
But the real issue was that it was patronising. Now, I don’t think anyone intentionally set out to write a condescending template.1 It just became that over time. Anytime a new team was created, a new process defined, a new help guide written, or a bug resolved, there was an opportunity to prevent an issue by adding something to the template.
By trying to pre-empt everything that could ever go wrong in a pull request, it turned into a checklist of everything a developer does. “Have you QA’d the feature?” If you need a checklist to remind you to test your changes, the problem isn’t the checklist.2
But what about juniors? What about new hires? It’s tempting to think that all of these hoops to jump through are worth it, because on someone’s first day it’ll make things a bit easier for them. I don’t think it’s that simple. Your first day at any job is always going to be overwhelming, there’s always going to be a lot to take in. You could throw a huge checklist at a new person and saying “here, check every item”. Or you could have a quick conversation and talk through the bits that really matter. That’s simpler, it makes for a better experience for the new starter, and it doesn’t create new bureaucracy for everyone else, forever.
I used to think that removing bureaucracy is everyone’s responsibility. I kinda still do. But a little while ago I listened to this interview with Tobi Lutke from Shopify, and one thing I took away from it (apart from some novel ideas about sleep) was the idea that a founder’s role in an established company is subtraction. He argues that only founders have the inherent social capital that allows them to break things and get away with it, and that they have a responsibility to use this to tackle problems that others can’t, or won’t, touch.
Everyone can add things, and “doers” get hired because they are good at adding things. But subtracting things is a whole different skill. It’s different technically, but even more so it’s different in the risks that come with it. Most people won’t just decide one day that a template is too much and needs to be deleted and restarted from scratch. It’s just not worth the feather ruffling that’ll come with it.
But it is my job to challenge the organisation, to make try things that aren’t comfortable, or agreeable, or that might go wrong.
So that’s the overly philosophical explanation for why I condensed our PR template.
I can say this with confidence, since I wrote plenty of it.
A good checklist is one where you never ever want to skip items on it. Think heart surgery or launching a rocket. If lots of your checklist is being ignored and nothing’s going wrong, then your checklist is probably wrong.