While working in distributed Agile, one of the repeated patterns is “2-dimensional (2D) communication”. Distributed communication generally happens with Skype video and Mikogo desktop sharing tools. Skype kind of video-chat solutions help in bringing distances closer as team members can look at body language of their distributed partners while talking. At the same time, distributed desktop-sharing tools (Mikogo, yuuguu, Skype screen share etc) enable distributed pair programming as developers from both sides can look and use their own machine. Sitting posture is much more comfortable than collocated pair-programming.
Initially communication mode works well but after a while (say after 2+ months) it becomes monotonous, technical in nature and less focused on soft-nuances of communication. People talk when they need to and only to fix technical issues. Human touch goes down as time elapses which is a usual phenomenon of distance communication. Discussions on personal life, things beyond project scope and fun talks cannot happen in an environment in which your sole purpose of talking most of the times is resolving a technical issue.
Sometimes distributed chat create a feeling of mistrust unknowingly which eventually doesn’t work well with “One Team” concept. Let’s take an example. Developer A from team India asks something from developer B in Holland on some urgent issue. This communication starts with a chat message from developer A. Though developer A must need a response from developer B in order to move further, at that time he doesn’t get any response. This communication failure might introduce some misunderstanding as developer A may think that B doesn’t want to talk to him on purpose and has started ignoring his messages. In practical life, there can be many reasons why B doesnt respond:
- He is not on the seat.
- He doesnt look at chat messages coming from many different people as they distract him from work.
- He is in middle of something else.
Video chat doesn’t solve this issue as A will be able to see B only when both have “when needed” (more appropriate phrase may be “lazily loaded” – influenced from Hibernate :D) communication. Misunderstandings and miscommunication eventually brings down the trust and “One team” feeling.
Based on our experience, 2-3 months after initial collocation, distributed communication become more and more technical as people lose human touch and physical sense of the individuals on other side. To subside that, in our projects, we encourage frequent collocation (in every 2-3 months) to evolve personal bonding and trust.
However implementation of “Virtual One Room” concept brings down these problems significantly.
The idea is to setup big TV monitors on both distributed locations and connect them through Skype video all the time. That way each distributed team member can see all other team members on either side.
It provides following benefits:
- People greet each other while coming, leaving or going for lunch. Sometimes parties, good moments and jokes are visible on other side.
- Now you yourself can see who is on seat and who is not. Your question “why this guy didn’t respond to my query” gets immediately answered. You communicate when person on other side is available. In case it’s urgent, you ask to other available distributed team members to connect with that guy. It brings down some immediate causes of misunderstanding and help in improving communication.
- It gives “One Team” feeling to everybody as they can see everybody in the whole distributed environment even if they are sitting thousands of miles apart.
- Sometimes people do not look at your chat message immediately just because they don’t want to get distracted from their current work. To handle this situation we as a team made a protocol which worked well for us. The protocol is – in case such things happen, people can give direct Skype video calls to their distributed partners.
The concept of “Virtual One Room” has worked well for us in bridging the communication gap to a certain degree.