Peter Chamberlin

Triangular limits

More effective teams and meetings with maths,

Of course no-one likes meetings. That's a given. We know they can be productive, even inspirational, but that is too rarely the case in reality. More often they are a boring distraction, stealing us away from our valuable work.

My instinct has always been that a major enemy is group size. It seems like the greater the number of people involved the less value a meeting yields. Actually it feels like meetings get unwieldy really quickly over a certain number of people, and recently something very simple occurred to me that might help explain it.

The idea is that for any group of people collaborating - in a team, a working group, or any kind of meeting - each line of communication incurs a cost. That is, each person knowing who some other person is, why they are there, and how they influence the broader context, carries a cost to the overall group.

Some attendees will be more involved or interested than others, some will contribute only a little, some none at all, but let's assume that the costs even out. That gives us a really simple model where any group is a complete graph, this is to say a graph where every pair of vertices is connected by an undirected edge, and all edges incur the same cost.

In fact at this point we have formulated the handshake problem, a maths teaser which asks, "in a room of n people, how many handshakes are possible?"

The solution is a simple modification of the formula for the nth triangular number:

Tn = n(n-1)/2

It gives the following series:

0, 1, 3, 6, 10, 15, 21, 28, 36, 45, …

The number of handshakes needed for all the group to meet each other grows quite quickly.

Applying that back to our premise, for a team of 10 people there would be 45 individual lines of communication between pairs. That's a lot of potential communication overhead, and the cost of adding another person to the group would be another 10 connections.

Bringing a new person "into the loop" with any large-ish group might be deceptively costly. We should try where possible not to include people unnecessarily.

That's no great revelation.

What's interesting is that if you had the same number of people but split them into two groups you'd only have twenty-one lines of communication. That's less than half.

The implication is that if you can split a meeting in two and later reconcile the two groups in a single meeting between two people, then you might reduce the upper bound of communication complexity in the group by better than half.

Rather than just trying to have fewer people in meetings, even greater value might be achieved by reducing the number of things a meeting is concerned with. Make meetings smaller by splitting out the things they are responsible for, delegate each concern to a sub-group.

Although it seems more complicated to have groups report into groups, maybe it's less complex?

Communcation complexity means potential for confusion, misunderstanding, a tendency towards inertia, etc.

I can think of lots of negative connotations but I can't think of many positive ones. Perhaps transparency, or a feeling of inclusion for certain parties in the organisation? Those are important things to consider.

I find this model compelling. It appeals to my instincts and assumptions as a developer, and I'm trying to apply it at work. I think striking the balance between being inclusive and being efficient is the tough one to make.

I'd be really interested to hear from you if you've got any thoughts on this. You can find me on Twitter.

The reason I blogged it is because Matthew Clarke sounded interested when I mentioned it in the pub, so thanks Matthew.