The Lyke Wake Dirge

Many years ago, my brother lent me a copy of Julian Jaynes “The Origin of Consciousness in the Breakdown of the Bicameral Mind”. This truly is an amazing book, even if the main thesis is probably completely wrong. 
One of the core ideas in the book is that consciousness is essentially constructed of metaphors. In particular, we use the metaphor of physical space, of landscape, to construct our minds. We need language to express these metaphors, so Jaynes’ hypothesis is that consciousness developed *after* language. 
But I’m more interested in this idea of internal mental landscapes. We model our minds on the external landscape and we perceive the external as a reflection of our internal landscapes. 
This idea has fascinated me ever since I first read the book. 
Robert McFarlane discusses similar ideas in his wonderful book on walking, “The Old Ways”. By walking through a landscape, our minds spread out and takes on the shape of the landscape. We allow our minds to settle in to the la…

Programming, Fast and Slow

In 2012, Daniel Kahneman published “Thinking, Fast and Slow”. It’s one of those books that most Agile coaches and thinkers own, but very few have read. Because it’s not an easy read. It’s long, for a start. But it also goes into a lot of economics and psychology which, even for a popular science book, is hard. And it’s a book summarising a lifetime’s ground breaking, Nobel-prize-winning research.  I read it over several months, and it was difficult. But I was already intrigued by these ideas. My brother lent me Julian Jaynes’ amazing “The Origin of Consciousness in the Breakdown of the Bicameral Mind” many years ago, and the idea that we function in a largely non-conscious way has been rattling around my head ever since. 
The central hypothesis of “Thinking, Fast and Slow” is that our minds have distinct subsystems that work In very different ways. Our conscious mind is System 2. It can reason, plan, learn. But it is expensive. It uses up lots of energy, so our minds avoid using it. Ins…

Mob Walking

When I was at the 2018 Mob Programming conference, I went on quite a few walks. Some of these were just lunchtime walks, but I also went on a more “organised” walk. These were really interesting and enjoyable, and were a great, unstructured way to meet people. 
At my work, I’ve been doing walking 1-2-1s with the folk I line-manage for a while. It allows for a much more natural, free-flowing conversation than just sitting in a meeting room. It also allows for silent contemplation in between topics. Silence can be very awkward in a meeting room conversation. 
So today, my team tried having a mob-walk.


On our mob, we have started using the “Mobodoro” technique, which I picked up from Willem Larsen at Hunter. 
The idea is based on the “Pomodoro” technique, where you do 25 minutes of solid work, then take a five minute break. And repeat. 
 But with Mobodoro, we have a couple of minutes to plan, then we do repeat mob rotations of 2 or three minutes, adding up to 25 minutes. Then we do a quick retrospective on the previous 25 minutes, have a quick break, and then repeat. 
And for the break, we have a rule that we have to leave the mobbing area. Even if we just walk a few feet and back. 
The retrospectives have been great. Often we have nothing. Because we’re only retrospecting on the previous half hour. But quite often we find something small we can change: a better way of using our whiteboard; a new chair; changing the mob rotation time; buying some Lego to keep track of our work. 
The day seems to go much more smoothly, and at a much more sustainable pace. Two or three minutes break every …

Teamwork and the Human Current podcast

I listened to a great episode of the Human Current just recently, where they interviewed Cesar Hidalgo, and it got me thinking a lot about teams, and how they are complex systems, and how teams learn. It got me thinking so much, that I've listened to the podcast several times now. The first time, I was cycling to my choir rehearsal, and couldn't stop to listen to interesting bits again, so I listened to it again while sitting down at home as soon as I could!

The first stand-out quote for me was from Warren Weaver:

Complex systems are those in which the identity of the parts involved, and their interactions, cannot be ignored.

This is a really deep idea. We have gotten so used to the reductionist approach in which you can understand something by taking it apart, and looking at the individual components. And this approach works, as long as the relationships between components is simple and obvious.

But with people, the relationships between individuals is anything but simple and …


I often hear people talk about “adding resources” to a software team or project, and I really don’t like it. 

And there’s two reasons why I don’t like it. 
Firstly, we’re talking about people. Sentient, caring, decent people. People aren’t resources. People should be treated with dignity and respect. And calling someone “a resource” is not a nice thing to do. I am not a number...
But secondly, the underlying assumption with “adding resources to a team” is that “more resources equals more productivity”. And that’s problematic. Teams are complex systems, and adding more people to a team, disrupts the team. It sends the system off on a new trajectory. And it might never make it back to where it was. So simply adding people to a team can completely change the team dynamic, and can completely change the team’s performance. 
Another problem with the assumption is the idea that new team-members just need to be “brought up to speed” in order to be productive. But the mental models that we build u…

Mob Programming Retrospectives

One nice thing with mobbing is that it’s easy to have meetings. The team wanted a retrospective yesterday, so we all moved to a room and had a quick meeting.

We used a Lean Coffee format last time. This time we tried a Sail-Anchor format (what blows us forwards, what drags us back). 
There were two main groups for each. 
What pushes us forwards: Behaviour in the mob.Good coding practices.Socialising more has increased morale. The mob in general seems more cohesive. Dropping in and out has become more normal. 
For coding practices, we’ve been focussing on small well-defined tasks, small simple functions, and writing good Scenarios. 
What drags us back: Behaviour in the mob.The codebase and tools. The unhelpful behaviour was a mix of not following good mob practices, criticising code written by others, and meandering off course down rabbit holes in the code. 
To help, we agreed that we’d check if a rabbit hole was worth following at the end of each turn driving. And anyone can raise their h…