Stupid Human Programming
Talk on software development.







Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.


Thursday, January 18, 2007
 

Efficient Team Interaction Protocol: ACK Three Times for Every NAK (The Rule of Three)

Which interaction in a design meeting do you think will turn out the best results?
Scenario 1:
Alpha Geek A: That is the stupidest idea I've ever seen. Only an idiot could think up that idea.
Alpha Geek B: What you do mean? It worked on my other projects and it's based on proven patterns.
Alpha Geek A: This project is much more demanding. It has to scale infinitely and cost nothing to deploy.
My new O(1) algorithm for distributed miracle working will do that no problem.
Alpha Geek B: The only scales you could find are on you highly squamata like epidermis. My
framework, though it will take 2 years to develop, will enable us to easily change
our design without changing code.

Scenario 2:
Alpha Geek A: That is the stupidest idea I've ever seen. Only an idiot could think up that idea.
Hub : A, your new algorithm is very creative. It looks like we'll be able to scale
easily with a lot less effort than we do now. Testing will be easier too.
But B has some good point about how difficult it will be to make changes
fast in the field. What in particular don't you like about B's idea and
why don't you cover again what particular goals you are trying to
accomplish?
Alpha Geek B : Wait, I see A's point. Let's call up Maven A. I think we can work
out how to get the best of both worlds.

In our little melodrama the two meetings went in very different directions. Why? The introduction of a hub in scenario 2. A hub's role in the human network that defines a development organization is to exercise their power based on their mastery of social skills. The Alpha Geeks compete like mini Zeus' throwing thunderbolts of thought at each other. The winner wins by flaming everyone with their superior intellect and forceful style of argument. Unfortunately, that doesn't make for a good team. It makes for a team where people don't work together, where they don't help each other, and there's no synergy. It's a horrible place to work.

Hubs help mediate the often poorly socialized Alpha Geeks. Hubs do this naturally because they are competent people in their job, naturally social, and brave enough to put themselves between the warring parties.

What does a hub do exactly? It differs, but research on how groups can flourish may give us some ideas.

One interesting approach is explained in the paper Positive Affect and the Complex Dynamics of Human Flourishing. They found that a team flourishes when for every negative acknowledgment there were at least three positive acknowledgments. In our first scenario all interaction was negative and the direction of that team should be predictable and familiar.

In the second scenario a hub didn't go for the jugular, instead they intervened between the combatants and framed the issues in such a way that people were positively acknowledged yet the problems were made visible and handled. What happens too often, like rats in a cage pressing an electrified lever, people in hostile teams enter a sort of learned helplessness. They just stop trying and the team and the product just fall apart because nobody feels like getting shocked again.

A positive acknowledgment is something pleasant, upbeat, expressing appreciation and liking. A negative acknowledgment is something unpleasant, feeling contemptuous, irritable, expressing disdain and disliking. Scenario 1 was full of NAKs. By following the rule of three in Scenario 2, that is having at last 3 ACKs for every NAK, the whole conversation was smoother and much more productive. In fact, the biggest indicator of a failing marriage is how the couple communicates. If the couple shows contempt and disgust of each other then the marriage will probably fail. Teams are very much like marriages in this regard.

You don't lie when ACKing. You tell the truth. Being dishonest won't work because people will know you are just making stuff up. Dig deep down and genuinely find positives to talk about. They key benefit to this strategy is you have to listen to what the other people are talking about and you have to understand it enough to say something positive. That's 90% better than most conversations right there.

Where does the number three come from? If you read the study it's taken from a nonlinear model of dynamic systems. That's geeky enough, isn't it? :-) The study data was taken from observing many team interactions. What the model shows is there is a critical positivity ratio of positive to negative acknowledgments. If your team is at or above that ratio your team will flourish. And that ratio is 3:1.

The Rule of Three isn't the only thing that makes for a good team, but it's interesting because it's so specific and so seldom done. It's an easy to follow recipe that might radically change the dynamics of your work place.


comment[] 1:09:17 PM       digg   reddit



Click here to visit the Radio UserLand website. © Copyright 2007 todd hoff.
Last update: 3/13/2007; 8:24:28 AM.
January 2007
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Dec   Feb