Thursday, August 05, 2010

Offshoring and the Technology Gap

Next week I'll be co-presenting at the Agile 2010 conference in Orlando, Florida with Thushara Wijewardena. Our presentation is called "Why you suck at off shoring, even with Agile". The plan is to discuss and debate some of the issues people run into when they are doing offshore projects. Thushara, who lives in Sri Lanka, will be covering the offshore side and I'll be handling onshore. We've both got a fair bit of experience in the area, but in order to make sure we'd covered all our bases, we interviewed a number of people to get their take on it. Heading into it, I felt pretty confident, based on my experience, that the majority of the difficulties that onshore managers and teams struggle with are brought about by their own approach and an assumption that offshore must learn to adapt to the onshore way of working. My basic argument was that the onshore teams really had to find a better way to adapt how they approached working with an offshore team if they really wanted to get the most out of them. Working with teams spread across the globe, in different time zones, from different cultural and educational backgrounds is never easy, but I do believe that the responsibility for enabling the offshore team falls largely on the onshore team's shoulders.

The most interesting interview I had was with a gentleman I know who comes from India and has been in the U.S. since the 70's. He has years of experience in testing out different ways to make offshore successful. Some of the lessons he has learned seemed to be directly counter to my assertion for the talk, but he had some very solid explanations of how and why he came to those conclusions.

One of the things he said is that there are certain job functions that an onshore team should probably never send offshore. Architect and BA were among these roles. By way of explanation, he offered a story...

The company he ran had been contracted to develop a POS system for use in retail stores in the U.S. He had one of his top leads head over to India to spend time with the team they had formed. The requirements had been fully defined, all the developers were trained and things seemed ready to go. During the discussion of the requirements, the lead asked the team how many of them had ever worked on a POS system before. None of them had. The second question was how many of them had ever seen a POS system before. Only one team member indicated that he had and when he was asked to describe it, he described the back of a cash register. So, while the team was comprised of experienced developers, and they had a full set of requirements, none of them had ever had experience with anything like what they were being asked to develop. Now, while this would not prevent them from actually executing the requirements, without some level of familiarity with what it would be like to interact with such a system, or what the job function of someone who had to use it was like, how likely is it that they'd be successful in their implementation? In this case, they were fortunate that their lead, although born in India, had spend several years in the U.S., knew the client, how they worked, etc. Without his knowledge of how this POS system needed to be used, the team would have been lost no matter how good they were.

What I found most interesting about this was that while I had been focusing on the idea of culture as being a significant stumbling block for onshore teams who are unable or unwilling to adjust how they work to adapt to the offshore teams, I had not considered how the implementation of technology in the day-to-day life of people in one country or another could have such a significant impact on the work. It wasn’t just a matter of the onshore and offshore teams respecting one another, or making sure they all knew how to develop in the same programming language, or that they had well defined requirements. In this case, the fact that none of the team members had ever run across a system of this kind presented a huge challenge and no amount of cultural sensitivity, or training was going to cover the gap created by the varying levels of technology implementation on a day-to-day level.

If you are planning on attending the Agile 2010 Conference in Orlando and would like to hear more of what Thushara and I have learned during our research for the presentation, please join us on Thursday, August 12 at 11 AM in room A-4.

And if you have any feedback on the above, I'd love to hear it.