how to work with distributed-teams/outsourcing/offshoring/crowdsourcing
Lately I was on a trip that took me to Tokyo, SF and NJ. Took part in a couple of conferences and got to visit many customers and potential customers of PT.
I was traveling a lot in the last month or so, and something that struck me was the fact that regardless if I was sitting with a team in Tokyo, San Francisco, or New Jersey; one thing in common that I saw in most of the organizations I visited, was that most of them were working as a distributed team.
The guys in Tokyo were working with external testers in Vietnam or Malaysia, one team was actually an international team composed of people from 5 different countries (and 4 mother-tongues). And in a similar way, the teams in the US were working with either Eastern Europe, India or Asia.
This is not something new, I see teams all over the world with either outsourcing, crowdsourcing, offshoring, etc.
The world is now a Global Village, and this is bringing many good things, but also quite a lot of challenges.
Let’s try to go over them:
1. Time differences and Geographical separation
This is a trivial one. Since we are sitting in different places and many times working at different times and even days, we need to find a way to coordinate the work and organize the tasks done by the entire team.
2. Language barriers
So, it seems that our assumption that everyone speaks English around the world is not correct. For example, when traveling to Japan, I realized that even though many people do understand English, most people do not feel comfortable talking in English. Even those who could understand it, preferred to have a translator present to make sure they understood everything. And we are not talking about a 3rd world country, this is JAPAN!
3. Culture differences
I remember working with an offshore team, who did not feel comfortable telling me the product was in a really crappy state, it was not in their cultural norms to complaint with people from higher ranks, and so my surprise was to realize 2 weeks before the release that we could not even install the product in our staging environment without the help of developers. Because of this, the project was delayed for about 3 months!!!
4. Complex relationships with external companies/service providers
I hate politics, and whenever you work with an external company or service provider there will be no way around it, you will need to work with them. When a person works for another company, regardless of the person and the nature of the company, there will be frictions and in some cases even conflicts of interest.
5. The feeling of not being part of the main process or team
Many years ago I had my main team in Tel Aviv, but I had a second team that was just as big working in Odessa Ukraine, and these guys had the disadvantage of working away from the action of the development team – this caused a lack of motivation and a lot of people just leaving the team earlier than planned…