Tim on Leadership

Musings on Management and Leadership from Tim Parker

Managing Outsourcing

Offshore teams are a good way to get more effort from a team at a discounted price, but offshore teams come with headaches, too.  There's many stories of why outsourced development and testing failed, causing the company to cancel all outsourcing efforts.  In most cases, though, the cause of the problem could have been averted and the offshore team could have been a productive addition.

There are a few causes that result in offshore teams being a disappointment.  The most common complaint is that the offshore team didn't do what was needed or developed something incorrectly.  In almost all cases, this is a direct result of bad communications.  Whether a team is offshore or working just a mile from you, without proper instruction and information the effort is doomed to be risky.  Offshore teams, where English is often a second language and development experience is often short on supply are a challenge, but I've found through the years that when I am very clear about the task, how I want to doing, and what the end product is that I expect, I usually get great results.  Essentially, instead of telling an offshore team "go and design something to do X", I now give them a very explicit functional and design specification that leaves absolutely no question as to what is needed and how it should behave.  While you could argue functional specs and design specs should be produced for everything a group does, whether offshore or not, in many cases the specifications are summaries and not detailed enough.  So when someone offshore reads them, they may have questions or be unsure, but be afraid to ask or jump to the wrong conclusions and the result is not what you wanted. 

Comfort with the offshore team is also key besides communications.  When I set up offshore teams, I spend time there, meeting the team, explaining the company and its products, what we hope to achieve from the offshore team, and how we can work together.  The main thing I am trying to explain to the offshore teams is that it's OK to ask questions and get clarification.  I won't think they are incompetent if I have to explain something.  Chances are they are smart, and the spec was vague to start with.  But offshore teams are always reluctant to ask questions both because they don't want to appear as though they don't understand what's expected, and also it is sometimes against the culture in the country to ask too many questions.  I get by this by making sure there are frequent visits to the team, both by myself as the leader but also by team members (and it's a nice bonus for my team members to go somewhere exotic!), and that there are frequent calls between the two groups to ensure there is no misunderstanding.

If I have a large team offshore (meaning 50 people or more) I will often position one of my team members there full-time, or at least for several months.  The more interaction between the two teams the less chance of misunderstanding, and the closer the two teams can work together.  I'll often rotate people in and out of the offshore location, each spending a couple of months there, and doing so does wonders for both sides!  My team members get a chance to travel and experience another culture, and truly show their skills off, and the offshore team feels more connected to the team thousands of miles away.

The other part of the communications is to bring their team members to me, if possible.  I like putting QA with offshore teams so I get a night testing regimen going, and I'll often arrange for two of the remote team to come to North America for a three or four week spell (sometimes longer) to sit with my team here and feel more connected.  They get to travel, too, and go home with a good feeling about the two teams efforts together.

The main thing I always try to do with offshore teams is to make them feel like they are part of the team, and not just a bunch of hired guns.  This means keeping them in the loop on company updates, team progress, getting them freebies like t-shirts and baseball caps with the company logo on, and many other little things that ensure the two groups don't feel apart from each other when the work is concerned.  Having a good few people here that talk regularly with the people there is necessary to ensure everything goes smoothly.

All this sounds like a lot of effort (and some expense) but in reality it isn't as difficult as it sounds.  I make quarterly visits to my offshore teams and do all-hands meetings there so they know how they fit into my larger group, and I always ensure I have lots of time for questions (both professionally and otherwise).  As for the expenses, with a large team you save so much money in onshore labor costs that the costs of a few flights and t-shirts is easily offset.  And having two teams working on my products, essentially around the clock, has always resulted in better products and better productivity.  So when people grumble about offshoring being a waste, I can almost guarantee that it's the grumbler's fault for not communicating properly!