Oct 18 2008
Messenger and Bottle neck
—– A story about mirror game, messenger, bottle neck and bus factor.
A story
Back to the school days, there was a quite interesting game called Mirror. It need no less than 5 or 6 people to participate. The players stand in one line. Each one can only see the players besides him. Then the host told the first player “an action”. It was start from the one player to show an action to the second one. Then each player has to try to do exactly the same action one by one. In the end the last player’s performance turned out to be very much different as the first one who stands at the front of the line. Audience laughed because they observed the misunderstanding between players. Actually,it will be more fun to get more people involved. Let’s imagine, if we have only two players, they could much better and the game would not be fun any more.
The story told us that information would get lost or being misunderstood by passing through human beings. As it was passed by more people the there would be more information lost or misunderstood. The information would lose more quicker as it was more complex. We call the players who only pass the message messenger.
How bad is it?

Communication management is a crucial part of program/project management. How bad is it in a project, especially IT project? If the number of messengers is at a certain level, the project will lose efficiency, get more risky, even worse, it might fail in the end. 90% of time when there are messengers in a project, there is bottlenecks along. In a general project management course, lecturers talk about something called “bus factor”. If a member of the team were hit by a bus this morning, this team would not be able to continue producing enough productivity or could not work at all. This member is called bottleneck. No projects want bottlenecks unfortunately they do exist and sometimes, they play vital roles.

Let’s take a look at two typical program/project models. From the graph, we can discover, the two bigger smiley faces have one team behind them. However these two people are the only interface between the two teams. If either of them can not make it to work, the whole program might have to halt. The whole team might have to wait for someone else to be the interface and reconnect the communication.

Another model , which I called messenger model. People who are in the middle lever play a role to pass information between front and back layers.
It might not be as bad as the model of bottlenecks however, we can easily tell that people in the middle layer increase the cost of communication. The accuracy of the information would decrease because this extra layer. Someone might ask why and when it happens in a program/project?
Reasons:
- When a program builds basic structure, managers sometimes prefer to only having senior people to be interfaces or having people to take order from them.
- Even a program is originally well build, as long as it is growing, the role and responsibility of some team members might get confusing, during this stage, messengers might come out.
How to solve?
Is there any way to avoid this happening or if it happens already how to solve it?
- Do not let one person to be the interface. Get more people involved in the communication.
- Share responsibilities across roles. e.g. PM, senior business person, senior technical person should be able to back each other up.
- Have a team shape flatter. Sharing rather than passing information.
- Review program structure when it is growing, reconstruct the team and eliminate messengers or bring them to a upper or lower level.
- Do not make the whole program one team, because it is too difficult to manage the communication. Bear in mind, communication cost. It’s better to think of cost efficient way to do communication. Such as stand up meetings, pair working etc.
Summary
When a program/project knows the waste and risk of having bottlenecks and messengers, the team should continuously review the structure and ensure that everyone in the team actually contribute value rather than create waste or make trouble.
How to solve?