XP Day: Coaching self-organising teams, Joseph Pelrine
AKA "zenzen wakari-masen"
AKA "how to be a manipulative bastard without anyone knowing"
But first... slime mold. Japanese scientists recently got one to solve a small maze, through cells self-organising. They communicate by secreting pheromones.
But we are not slime mold!
We don't think rationally, unless we're autistic. Our subconscious follows a first-fit (not best-fit) pattern matching algorithm based on past experience, which the conscious mind rationalises according to the dominant discourse. Our ancestors saw danger and ran; to do this fast, evolution optimised to bypass the conscious mind.
What is self-organisation? Amongst primates, it's the fight for alpha-male dominance: probably not the kind of self-organisation we want unless you're the alpha. What are the models to understand how teams work?
(Discussion exercise around how far we let a team self-organise)
There are 2 general directions to the questions Joseph placed on the board: type X personality (believes "most people are lazy, leave them alone and they'll do nothing"), and type Y (believes "working can be like learning, and fun, people left to their own devices will achieve great things").
One issue in getting a team to self-organise is letting them do this. One direction to take is making small changes and seeing how they go.
RUP: "the sound a project makes when it crashes against a wall".
RUP has a built-in mechanism: if it goes wrong, you got the process wrong. There's a similar problem with self-organisation: an organisation that doesn't work right is the fault of bad management. There is a theory: what if the organisation is dysfunctional but still doing what it needs to do? Most companies say "the customer comes first"; rubbish, the CEO does in practice!
The theory is that the main purpose of any organisation is to provide for the needs and desires of a group of people in that organisation. Look at AIG: got government bailout then sent its managers on a half-million dollar retreat. We need to get support at a high level when bringing agile in.
I propose to take this idea a step further: if you have a dysfunctional team, what would they be if they were doing exactly what they should be doing? Kurt Levin, the father of social psychology, theorises that
B = f(P,E)
i.e. behaviour is a function of a person and their environment. He tried to explain psychological interactions in terms of the mathematics of topology. We talk about self-organisation, but who or what is the self? Self-organisation of a system is the interactions between the agents of a system.
For example, at Christmas our 25y.o. son is visiting. My wife treats him like a child, but tries not to. The system has defined a set of roles that need to be played; we will gravitate to acting out these roles.
In a team, we play roles. Remove the pessimist from a team, and someone else takes up the role. It goes further: there are ghost roles. Ever get the feeling in a meeting that people are being careful about what they say, that there's someone else in the room?
These roles get set up by a self-organisational process. How do we get to a point where the fight for alpha-maleness doesn't dominate this process?
The answer lies in chicken soup: made from all sorts of ingredients. You need more than ingredients though, you need heat. For most people who aren't chefs, heat is boolean. A good cook learns to play with heat. To make people a good team, you need to do the same, to effect a change from outside - without working directly with them.
Consider these stages in the cooking analogy:
- Burning: feel threatened, panic, burn out.
- Cooking: the target level, where heat is high enough that ingredients blend but retain individual identities. You can still taste the carrot in good chicken soup.
- Stagnating: what was once soup is now a substrate for bacterial growth. In a team, this is where discipline stops: documentation isn't being written, meetings aren't being attended, etc.
- Congealing: where norms are established ("this is how we do it around here") and change is difficult.
- Solidifying: where change isn't possible.
The trick with self-organisation: determining where the team is now, what models can we use for them, what can we do with these?
So, looking at models, the equation for gas in a confined space:
PV = mRT
R: a constant, forget it
m: molecules of gas in the enclosed area
Compress the gas and temperature rises. Increase amount of gas and the same happens. This gives us two easily understood variables: the size of our timebox and the number of tasks we have to do. With a large timebox and 1 task, there's not much stress. With 30-40 tasks there's more stress. Similarly if the number of tasks is fixed and the size of the timebox increased, people get more relaxed. Parkinsons law: tasks grow to fill the size of the time available.
The temperature is proportional to the number of people in your team: its' easier to stress out 1 person than a team of 20.
Teams will naturally cool down and stagnate. There's a need for constant "heating" (coaching). Capacity-based planning is great, but even if you only commit to a subset of overall work in a given sprint, there's more heat: the team are aware there's more to do.
Creative use of conflict can create heat. In a football team you have 26 on the roster and 11 on the field. Only those on the field get lots of the benefits of being on the team: coaches know this and use this to motivate.
(Exercise on how we view conflict)
Another model from a psychologist who invented the term "flow": being in a state where you're on with yourself and your work. Every person has a set of skills, and meets challenges. When skills and challenges are in balance, you're in flow. It's not an absolute model; wherever you are in skill, there's a level of challenge appropriate relative to you. If challenges are more difficult than skills, you feel anxious. If they're too easy, you get bored.
Challenge: your developers find the daily stand-ups boring. To motivate them, raise the challenge level.
The passive version of this is the Peter Principle: people are promoted beyond their level of competence.
Not all individuals are at the same point. We work on plotting activities and people on the skills/challenge matrix. Joseph theorises that people need to move around across the matrix.
Shows the classic Gorilla/basketball video.
Types of power: reward, coercive, legitimate, expert, referent.
Lots of complexity here, we're playing with many values. So we can't predict the outcome of changes. We need to implement small changes and make decisions based on empirical data. Probe, sense, respond. Inspect and adapt. We can't have fail-safe... we need safe-fail!