By John Parkinson
I looked at the loss of productivity that occurs when the members of a software engineering team
aren't fully co-located and immediately accessible to each other all the time. If all the dispersed
resources cost the same as local resources, it simply wouldn't be worth the dispersion (except for
situations when an essential resource is in the "wrong" place and can't move).
Even if you could completely overcome the productivity loss with infrastructure investments (you
can't, but you can come close) the additional cost would be significant.
Unfortunately, global sourcing means that some of those dispersed resources come at a lot lower
cost than the local resources. So we have to ask ourselves if the (real) loss in productivity, plus
the (real) additional cost of communication and collaboration, is offset by these lower costs.
To answer this requires us to look a lot deeper at the changing performance you get over time as
dispersed teams get used to working together and the absolute difference in cost and productivity
that occurs.
Click here to download a PDF of our story mapping trends in outsourcing and a
map of global outsourcing hot spots.
On a "raw cost" basis, I can progressively reduce the $85 an hour it costs me to run onshore
software engineering to about $65 if I go offsite and near shore (say Canada or Ireland), to $45 if
I go mid-shore (Eastern or Southern Europe, South America and "mature" India), or even $12 if I go
far shore ("emerging" India, the Philippines, Indonesia and China), for at least some of the
project hours.
On a true like-for-like comparison basis (fully loaded, blended rate with additional
infrastructure costs added in), my hour of effort probably costs me around $75 in Canada, $40 in
India and $25 in China—in part because I can't yet send all the work there.
That's a lot more than the theoretical minimum, but much less than I'd pay to have everyone work
at home.
Let's take a dispersed team example. We'll put 30 percent of the team's resources onsite at the
client and 70 percent in India. This gives me a blended cost (at equivalent output) of (30*$85 +
70* $12)/100 = $33.90 – a decrease of 60 percent.
I will have to spend some of this on extra process effort and infrastructure capabilities (my
data says the number is about $20 an hour if I amortize the capital over five years). But I still
save $31.10 an hour – a 37 percent gain. So if my productivity loss is less than 37 percent, I come
out ahead.
If I only look at early projects or use the long-run averages from my data (which we saw last
week was a 38 percent productivity loss), we would have to conclude that this is not worth it.
My "true" productivity didn't change and I had to deal with a much more complex and possibly
brittle process to break even.
But if I look at how much better things get with a few projects' worth of practice, I can draw a
different conclusion. After around four years of practice, my productivity loss has been reduced to
only about 22 percent and is reducing steadily as the process gets more familiar, the
infrastructure becomes more reliable and the people get to know each other.
That's a worthwhile gain that might well get better as we continue to improve our tools and
processes.
|