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 obvious.

I wrote recently about teams, and how some managers talk about "resources". If you believe that engineers are just resources, resources that can be swapped in and out or replaced, then you clearly don't believe that teams are a complex system.

But I really believe that teams are complex systems, and more to the point, the ability of the team to create good software is determined by the quality and detail of the interactions between team members.

There is no point in looking at the behaviour or performance of an individual without looking at the system they are operating within.

One defining feature of complex systems is that the elements of the system are constrained by the system itself. Alicia Juarrero describes this in great detail in "Dynamics in Action". This was the book that really helped me get my head around complex systems.

Humans are social creatures. We construct a complex and intricate web of interactions, obligations and expectations that allow us to work together creatively and constructively. But this web also constrains and guides us.

This is from Cesar Hidalgo on the podcast:

Sometimes the behaviour of people is constrained by large system variables. Sometimes it could be that the constraints of the system are the ones that are imposing or restricting  the behaviours that can emerge within individuals. Sometimes the outcomes that individuals generate at the macro scale from their micro actions are outcomes that are unintended, or even not understood by the individuals that perform them.

In other words, people are constrained and guided by the social systems they live in and are part of.

I was at the 2018 Mob Programming Conference in Boston this year, and Jessica Kerr gave a great keynote on what she calls "Symmathesy". The short version of her talk is that great teams are not made from great people. Instead, great teams make great people.

People are constrained and guided by their social systems. If we want great performance, then we need to focus on the social systems, on the interactions between team members, on the team culture, to facilitate the creation of great individuals.

The podcast interview goes on to talk about entropy and systems, by talking about large groups of dice. If you have 100 dice, and the sum of the faces is 100, then this is a low entropy state. There is only one arrangement of the dice that can give this result: every dice shows a 1.

But if you see 100 dice and the sum of the faces is 350, then this is high entropy state. There are billions of ways of getting 100 dice to add up to 350.

So, if you see 100 dice and the sum of the faces is 100, then you can be sure that someone has arranged the dice deliberately, and that it took them some energy to do this.

It takes energy to create low entropy states, and it also takes energy to maintain low entropy states.

And this is also interesting for teams. There are uncountable ways that a group of people can interact. And most of them are not ways that will be highly productive at writing software.

A high-functioning team is a low entropy state. And as such, it takes care and energy and effort to create and maintain such a team.

And this is hard. It takes empathy, care and real intent.


Popular posts from this blog

Naming things and Cunningham’s Law

The Dérive and mob programming