Thursday, August 14, 2008

"OK" is not "OK"

We all know one of the most common causes of project failures in distributed development is poor communication. However, even with constant communication, wiki pages, Skype etc communication can still poor.

Actual language skills (word mastery and accent) and culture can still hamper smooth communication.

To help with the language skills, you can use a tool like Skype where you can talk and type. Sometimes accents and speed of talking can make it hard to understand, in this case you can fall back and use a combination of text and speech. Video conferencing or web cams can also help. Sometimes you see the confusion, but not hear it.

You should also avoid slang and pop culture references like the plague. This can be hard, after all it ingrained in our method of speech. I remember recently I used slang in a quick email I sent to someone with whom I have worked with for years. I said "she's down with that". Of course, I know it means she is happy to do that, he thought the opposite. :)

Culture is always the big elephant in the room. No one wants to address it for fear of being labeled a racist, bigot, or something. This is poppycock. It is vitally important to be aware of it so you know how to tailor your communications to help alleviate it.

For example, in English Canada when someone says OK it is often a short form for "yes I understand and will do it". This is not the same in India for example. Often, when someone on your team responds with "OK" from India it means that they heard it. They may not have understood it, and they may not have agreed to do it either.

You need to fall back on your delegation techniques. These techniques are useful for everyone regardless of where they live or work. After assigning a task or making a request, ensure the recipient understood by asking them questions about the task. You can ask them how long they think they will take, what strategy they will take to complete the task, confirm with them when it has to be done etc. The point of this is not to micro-manage, but to assess the level of understanding so you may act accordingly. Due to the timezone differences, misunderstandings can add a lot of time to your critical path.

Another common issue that is prevalent in some cultures is the deep seated hierarchy based on seniority. In agile teams, all the team members have to be empowered to take decisions, be able to ask questions to the team leader, the customer, or whomever. However, often what happens is that the senior person on the team fronts for the rest of the team. You can tell this is happening because you never hear from the rest of the team on conference calls.

You can help alleviate this by:
  • having everyone dial in from their desks, this will help reduce the side conversations that are necessary in this arrangement;
  • you must also emphasis that you want active feedback from the entire team, you will need to keep emphasizing this and working on it over the course of several months. You can help reinforce this by explicitly asking questions to the full team;
  • video conferencing can also help for those group meetings, it will allow you to see the quiet ones and "pick" on them to contribute.
These are just some quick ideas I have thought of or used in the past. Does anyone else have other suggestions?

No comments: