Code Reviews and Sex Orgies


When people mention peer pressure (or social pressure) they often refer to teens being involved in drugs, alcohol, gambling, smoking, or sex orgies. Parents usually assume peer pressure to be "negative", meaning that the activities they refer to are probably ones that make life pleasurable. I wouldn't know from personal experience, because I was never really part of a social group as a teen, and therefore (regretfully) nobody tempted me.

Parents have given peer pressure a bad name, which has resulted in articles with titles like Dealing with Peer Pressure and Beating Peer Pressure. But not all peer pressure is about tempting teens with pleasure. Peer pressure can also refer to social groups pushing themselves into hard labor (which, for some reason, parents refer to as "positive" pressure). Examples are: studying together for high grades, training to be good at sports, reviewing source code, writing unit tests, and many other activities that deal with performance rather than pleasure.

Whether "positive" or "negative", performance-based or pleasure-based, from a systematic point of view, social pressure is an example of a positive feedback loop. The more members of a social group exhibit some kind of behavior, the more the remaining members will feel pressured into adopting that same behavior. And before you know it, the whole group is doing exactly the same thing. Whether code reviews or sex orgies, suddenly they're all in it together.

Peerpressure1

Peer pressure can be very valuable in software development. It is one of the six ways of creating a disciplined organization. But there are a couple of things you must know to make it work:

  1. Social pressure in a group only works when people want to belong to that group. This means that, as a manager, you must enable team building. Don't create one big anonymous pool of software developers, but allow your people to organize into different teams. Fight people who try to break up those teams, resist those who want to force people to relocate to another team, allow team members to switch to other teams if they so desire themselves, and support any initiatives that the teams have in adopting a distinct identity. Only when people feel that they are part of a unique team, they will be willing to change their behavior and conform to team rules.
  2. You must give social pressure a direction by making the group responsible for achieving a goal. Team members should not be awarded for individual performance. Sports teams win or lose together. And so do development teams. Sure, you can take into account people's relative contribution to the different projects in a development team. A team member who was away for three weeks was (literally) not responsible for what the team did during his absence (responsible = being able to respond). A 25% contribution to a project can be interpreted as sharing 25% responsibility for the results of the whole team. And a 1% contribution translates only to 1% responsibility. Still, the responsibility exists, and it is shared. (Note that I'm not referring to accountability here, which is something that deserves its own blog post another time.)
  3. Finally, you have to make sure that team members get some good ideas on how to do their job well (like how to do code reviews effectively), and then take a step back. Let self-organization do its work, and wait for social pressure to change people's behavior. Before you know it, the team will experience a phase transition after which everybody is doing the same thing.

Of course, that's the theory. Reality may sometimes require some additional pushing, pulling and intervening, but this is the generic picture you should keep in mind to make peer pressure work.

Make teams, set goals, step back.

Don't forget that someone who doesn't feel part of a group cannot be influenced by peer pressure. My own teen years were devoid of group thinking, and it shows. I don't drink, I don't smoke, I don't do drugs, and I don't gamble. I do regret having missed out on the sex orgies though.

(pictures by Mcikey and woodleywonderworks)

Twitter TwitterRss SubscribeEmail NewsletterDelicious BookmarksTechnorati
References

Latest, greatest and favoritest posts:
Managing != Coaching
I Don't Feel Like Writing, Yet I Write
Team Members, Be Predictable!

Related Posts
free book
GET MY FREE BOOK!
“How to Change the World”