Saturday, February 12, 2011

Outsourcing communication problems

When you work in the same office with someone, and you chat every day, when you have a question you just ask it, you don't care if it's a silly question or not. I think that this is because if 90% of what you talk is chatting, and 10% is asking questions, and all of them are silly, you'll make just a 10% silly image of yourself. Plus you see the reaction of the collegue (which may not be 100% accurate), and see if you should ask any more of these silly questions or not.

Contrast this to when you have to ask questions from a collegue in another country. You don't have that many common themes to chat about, and even if you want to chat, you don't know the reactions, if he wants to chat or not. And writing is a little bit harder than speaking anyways. When you ask the question you don't see the reaction either. So you don't know if he is upset that you disturb him with these questions. And if the questions are silly, you don't have the chat to raise your silly image.

So, I think that rather than having a lot of developers ask questions from somebody in a different country, it would be better if there would be a local architect who would know the spec and the architecture, and ask the PM about everything. After the architect talked 100 hours with the PM, he would not dismantle his image that much by asking a few silly questions. And the PM would not dismantle his image that much either, by telling the architect to figure out the response to this question himself. And the developers who are chatting with the architect could ask him everything without inhibitions.

That is, minimizing the interface between separate countries should be a goal as minimizing the interface between the modules assigned to different programmers.

I know that having the architect in the PM's country is for having better communication between the two, that is, for the architect (who knows the state of the code) to don't be afraid to tell anything to the PM. But this works only if the architect's main task is to do the architecture (know the spec and design the interface between the modules), not to write code. If you have a remote architect who is more concerned about writing code, a developer will have inhibitions about asking him too much, because he doesn't know whether he cares about those questions or not.

No comments:

Post a Comment