New view on Off-shoring

Insourcing on November 1st, 2006 No Comments

Anyone who knows me, has ever talked to me or has read the Insourcing section of my blog knows that I have not been a big fan of off-shoring. I have spoken and written against the practice for years for many reasons but mainly because it has never succeeded in delivering on its promise of better, faster and cheaper software.

So it is with no small sense of irony that I find myself managing the delivery of a strategic software product for a client who has elected to hire an off-shore firm to provide the software development resources for the effort. My client made this decision because they are a start-up without the necessary capital to go out and hire an entire team of American developers. So in order to get their latest version of software developed they have made the strategic decision to incorporate a Chinese development team.

The difference between my client and the majority of companies that have chosen off-shoring as a solution is that my client consciously made the decision to opt for lower cost over speed and quality. The problem with most off-shore projects is that the person who sold the project promised – whether implicitly or explicitly – that the customer could actually get better, faster and cheaper all at the same time. This misstatement of the potential of off-shore projects is one of the leading causes of the many stories we read about outright failures, cost overruns and projects delivered without meeting the specification – sounds a little like the majority of on-shore projects.

Cheaper is easy to accomplish and is achieved via off-shoring because off-shore developers simply make far less than American developers – the average Chinese software developer makes  $13,400 per year, the average Indian developer makes $10,300 while the average American developer makes around $80,000.

The hard truth is that better, faster and cheaper cannot exist in the same space and time regardless of whether you are using off-shoring or not. In the very best of circumstances a project could deliver better and faster simultaneously – though I have seen no evidence that these two can happen in an off-shore model. The only certain way to get better and faster is with dedicated on-site development resources who are very senior, have a great deal of domain experience and are very skilled at Agile delivery. Even with these ingredients delivering better and faster together is very challenging.

The achievement of better and faster requires a high performance, integrated team of developers, business analysts and testers working out of the same location as the customer all using a well honed agile methodology. This obviously doesn’t happen in an off-shore model since developers are half a world and up to 15 hours removed. Further, most off-shore teams have little successful experience with Agile methodologies.

All of that being said, I can tell you that I am having significant success with my off-shore team. We have successfully transitioned from a mentality of rigid adherence to CMMI to a more flexible acceptance of Agile principles. We have gone from a velocity of 4 – velocity is the number of productive hours within an 8 hour day – 3 months ago to a current velocity of 6.

None of this happened overnight and it has required a great deal of management work and iteration – in the true spirit of Agile – on how we run the team. The biggest contributor to the success of the team was that we brought them to American and had them work on site with the customer for a 3 months and when we sent them back we sent a highly experienced American Agile team lead with them to live and work in China for four months. I can assure you that without this last part the project would have failed. There is no replacement for this boots-on-the-ground team coach in the same time zone as the team.

Ultimately we have a blended team with all development and functional testing happening in China while business analysis and architecture occur here in the US. The other key component is that I have shifted my hours so that I overlap with the Chinese team in order to provide management oversight and to represent the customer. This isn’t a whole lot of fun for me and instead of working less I now feel like I work half-again as much but it is working.

The moral of the story is that off-shoring can work in the right situation but it has to involve a conscious decision to choose cheaper over faster and better and it must be well planned, well managed and well executed in order to achieve it.

I will post more later regarding a process you can uses to determine if the project you are running or are planning to undertake can benefit from an off-shore component.

No Responses to “New view on Off-shoring”

Leave a Reply

You must be logged in to post a comment.