Oral versus written communication in offshoring
People who engage in offshoring, have a natural, human inclination to ‘just start communicating’. My experience has made me think a lot about the most effective way of communicating in an offshoring context. If you are involved in managing an offshore team, you might have asked yourself whether it’s more effective to orally explain what you need (using skype or phone) or to write it all down? The key factors influencing the ‘effectiveness’ in this case are ‘time’ and ‘knowledge’.
Human inclination is to:
A. Call your programmer in India and explain it by voice (‘ it costs me too much time to write everything down’)
B. Drop your offshore programmer an email or skype chat message (‘it costs me too much time to make a formal functional design’
Let’s consider the influence of time and knowledge on these ways of communicating.
In scenarion A, you make a call to your programmer to explain a certain functionality or part of your project, he will listen carefully. Some might make notes, some might ask many questions, all with the aim of understanding what you require. You spend 20 minutes talking to your programmer and you both conclude that things are clear. The programmer gets to work and starts coding. He faces a logical question and starts wondering what is the best solution (either he has not understood what you meant somewhere OR you thought you had explained but you hadn’t OR he thinks of a better solution than you envisioned). He has no reference to the voice talk and can’t talk to his team leader. His only option is to call you again and so he does. You spend another 20 minutes and the same thing might happen again the next day (for the same or another part of the project).
The question here is whether you indeed saved time not writing it down and talking by voice instead. Most likely you didn’t. The issue is knowledge. You have a certain knowledge about what you require (which your offshore colleague doesn’t have) and you try to communicate this verbally. Your mind works differently when speaking about a requirement or when writing it down. Writing it down, forces you to consciously think about every detail of your requirement. It make you think deeper about what it really is that you need and you only put it in writing when you are sure. You also have more time to think how your offshore programmer will perceive what you write down (the better you know him, the better you’ll know what information you need to provide). The additional advantage of writing it down is that you are not the only person able to explain what is required. The offshore programmer can ask his team leader or colleague to read what you require and together, they can arrive at a solution. This will avoid the extra rounds of communication.
In scenario B, you drop him an email or skype chat message explaining what you require. The programmer gets this email or chat message and if he has questions, he’ll most likely reply to your message. You reply again and you get a threat of questions and answers. This repeats itself for many requirements (which you most likely each put in a seperate message). 2 things happen here: 1. the communication becomes a mess because emails and chat messages are everywhere, get lost or confusing; 2. the mind has only written text to capture the requirement.
If you would explain the requirement by voice (after you have sent it in writing), the programmers mind has had the chance to process the information. Her mind has formed a picture of the requirement and might come up with some doubts, questions and/or improvements. Having a call after that, will most likely result in an effective talk to clarify the information. If the programmer has further questions, she could always call again or has the option to ask her colleague. And to make your and her life easier, it would be best if the written documents are not in emails or chat messages, but in an online system with structure and overview.
In my experience, the three golden rules for offshore communication are:
1. Invest time to write down your requirements (and use your mind to really think through each detail); ideally, agree on a standard way of documenting requirements.
2. Use voice (skype/phone) to clarify requirements + ensure that the programmer writes down what was discussed (so you can later on always check whether it is understood and what was agreed exactly)
3. Save all written communication in an online project management system.
A variant of rule number 1 could be to communicate a requirement by voice to an offshore programmer and ask her to make the written document, which you check after receiving it. This may save you time in writing things down, but will most likely only work when you really know the offshore programmer.