Afterwood
I’m only a few days back into work at the dawn of a new year and I’ve already chalked up a couple of meetings. This particular one is the overrun for the planning meeting we held yesterday, and it looks like we’ll need at least one more to finish things off. My colleague made a nervous remark about how long it’s taken to cover all the topics we had on the list, and so I made light of the situation by pointing out that I’ve spent longer than this in sprint planning meetings that are only looking at the next two weeks. In our case we’re trying to look ahead at the next 12 months, so I’m hardly surprised we have plenty to discuss, not least because most of the people are new to the team so there’s a plethora of history and context to fill in.
After spending the last three years filling the void between Development and Operations acting more like a service desk, I’m quite pleased to slow the pace down and have the opportunity to sink my teeth into something meatier. Not long before Christmas my diary only contained two meetings a week, and one of them was only held on alternate weeks which probably sounds like nirvana to some. The change in teams has brought with it a couple of extra regular entries in the diary for catch-ups but hardly anything arduous. Some kind of “daily stand-up” has been a part of my professional routine for so many years now it felt really odd when it wasn’t there.
The employees at Shopify started the new year with what many see as a belated Christmas present – all regular meetings of more than two people were cancelled, along with a cooling off period before they can be re-added. The premise, according to their CEO, is that many meetings “are a bug” and the underlying cause should be fixed instead. In his tweet he cited trust, clarity, and missing APIs as common “root” causes. The article I read suggested they were also cancelling all meetings on a Wednesday (but didn’t say if that was to allow more time for sports activities like at school), while Thursday was reserved for any large meetings. In essence they want to put more time back in the hands of people to get on with actually building stuff.
When it comes to hot takes about meetings my personal favourite is this tweet from some years ago:
“Meetings are complete distraction from coding. Without them, I could work without interruption on solving the wrong problems.” -- @raganwald
To be sure, it was a flippant remark, but there’s more than a grain of truth in there. I’ve been witness to at least two occasions where someone has gone off on a tangent for a couple of weeks and churned out a large body of code that was either far in excess of what was needed to solve the problem, or created more problems than we already had. Unlike a suggestion in a meeting which can often be reasoned about and either improved upon or dismissed in a fast timeframe, reverting a whole ton of somebody’s code after they’ve sweated over it for hours is a much tougher prospect as their loss is likely to be so much greater. In both cases I had the unenviable job of breaking the bad news to them that we needed to revert their efforts as there was considerably more technical debt than credit.
In some way I’m not surprised this happens. Back in the late noughties Daniel Pink famously ascribed autonomy, mastery, and purpose towards what drives people to be motivated. The aspect of autonomy can lead us to take on far more than we are equipped to handle by ourselves. Like free-speech, it doesn’t mean you get to do what you want without consequences – you still need to be accountable for your actions. The intent was to avoid micro-managing people, but not at the cost of removing collaboration altogether. Instead, autonomy puts the power to collaborate back in the hands of the producer so they have more control over when and where it happens. However, if you’re going to adopt a more “trust, but verify” approach you don’t want to leave it too long before doing some “verifying”, lest the waste starts to accumulate and course corrections become ever more costly. Ideally you want a balance between giving out creative freedom whilst also ensuring they have access to the kinds of people they will want to draw upon because they provide insights in a positive manner. The best kind of people often go out of their way to have their work and opinions challenged as they treat failure as an opportunity for learning. (Egoless Programming was first coined by Gerry Weinberg way back in the early 1970s in The Psychology of Computer Programming.)
My take on the drastic actions by Shopify is not to stifle collaboration, as that has to happen somewhere, but to try and eliminate some waste by avoiding unproductive meetings or removing unnecessary people from the equation. For me, an unproductive meeting though is often a smell that there is some confusion that needs resolving, which I guess is what the CEO of Shopify is getting at, but I’d rather do that quickly face-to-face than have to experience the tortuous route of a protracted email exchange or pull request with a number of comments to rival War & Peace. If you’re in Rumsfeld territory facing unknown unknowns you’ll want to navigate out of there as quickly as possible to at least the safer harbour of known unknowns.
I remember a project manager getting tetchy once because we went around in circles in a few design meetings apparently arguing about a particular concept. He saw it as disruptive, but I saw the conflict as a sign that we were missing something fundamental, and we were, we just didn’t discover what it was until an iteration or two later. When it did finally emerge all the confusion made sense, along with the realisation that we needed a much broader view of the business than many of our existing users had had up to that point.
As I write we’re just about to pass the third anniversary of the first Covid lockdown in the UK, along with the sudden switch to long-term remote working for many businesses. The consequential rise in asynchronous communication via the written word and video recordings will have been liberating for some employees more used to a classic 9 to 5 schedule, rebalancing the work-life scales for them in the process. But meetings can, and should have a social element too, even if just for a minute or two here and there, and so I hope we don’t throw the proverbial baby out with the bathwater in the stampede to deprecate face-to-face contact.
Chris Oldwood
19 January 2023
Chris is a freelance programmer who started out as a bedroom
coder in the 80’s writing assembler on 8-bit micros. These days it's enterprise
grade technology in plush corporate offices from the comfort of his
breakfast bar. He has resumed commentating on the Godmanchester duck race but
continues to be easily distracted by emails and DMs to gort@cix.co.uk and
@chrisoldwood.