How does your team work together? Do you enjoy the team you work in? Or do you stumble from one ill-tempered meeting to another?
The social contract is a tool I’ve introduced to customers in Red Hat Open Innovation Labs to help them build software teams. It’s a pen-and-paper exercise where everybody contributes to build a set of guidelines for the way the team will work together.
The idea of the social contract is to agree, upfront, the ways that a team will work together. It’s a collection of statements about the way we work, based out of collective agreement.
By the people, for the people! ✊
Start with a blank piece of paper, and one-by-one, fill it with coloured sticky notes. Each sticky note is a rule for how we will work together.
Anyone can propose a rule, but the team has to agree. And most importantly, nobody is above the contract. Then the team signs it, agreeing to be bound by the contract.
For example, we might agree to:
Pair program on complex problems
Eat nice cakes on Thursdays 🎂
Ensure the quiet people on the team are heard
Not talk about Brexit (OK, maybe this one is wishful thinking…)
Agree to disagree sometimes
Why do we need it?
Part of the reason I think we need constructs like the social contract is that we all make assumptions. We assume a lot about what are acceptable levels of behaviour, and how we should work with each other.
This in especially the case in big cities, where you’ll be probably be working with people from many different countries, none of whom had a similar upbringing to yours. This means that my preferred way of working might not be the same as yours. If we don’t establish some consensus about how to behave socially, then things are likely to nosedive once we have to tackle a major crisis.
We’ve all worked with the eccentric developer type, who dominate meetings, tend to control all around them and always seem to teeter on the edge of sheer rage. We forgive their eccentricity, because they’re “talented” and it’s OK “for the sake of the business”. When the person eventually does move on, you wonder why nobody spoke up sooner.
I think that’s crap, and I think there’s a better way. A social contract rule to “treat each other with respect”. Egos can fuck off as far as I’m concerned. (But then maybe that’s just my assumption.)
Thomas Hobbes, an 17th century English philosopher, proposed that until a social contract is established, agreeing how people will live together, nothing is off-limits and anything goes. But, after one is established, people can be generally expected to keep their promises and cooperate with one another.
By agreeing our behaviour, we can build teams that respect each other and, more importantly, leave no-one behind.
What do you think? You can use Markdown in your comment.
To write code, indent each line with 4 spaces. Or, to paste a lot of code, you can put it in pastebin.com and share the link in your comment.