Travel Restrictions and Offshore Development

  1. Posted on August 6, 2009 2:40:PM by Steve McConnell to 10x Software Development
  2. Methods & Processes, Technique, Management, multi-site development, offshore development, travel

One benefit of my job is that I get to talk to people from hundreds of companies every year, and the people I work with talk to even more people. In recent discussions I've seen a disturbing trend emerging -- disturbing because it's so common and because the effects are so easily predictable.

With the economic challenges many companies are facing, many companies have imposed travel restrictions that in practice are working out to "zero travel." I understand the value of this as a general cost containment measure. However, we are seeing increasing numbers of companies that have also applied this travel restriction to their offshore projects -- meaning no one from their domestic group can spend time with their offshore groups, and no one from the offshore groups can travel to their domestic locations.

The problem is this: Offshore development is challenging enough when you do everything right. Face-to-face time is an essential part of successful multi-site development. Video conferencing, web conferencing, etc. are all useful supplements to face-to-face time, but there is no good substitute for meeting the people you work with in person, meeting their families, having dinner and drinks together, playing soccer together -- that is, getting to know the other people as human beings.

When crunch time hits, teams are a lot more effective when they're working with their "friends in another country" than when they're working with "those stupid offshore idiots who never understand our designs or requirements."

One executive put it this way: "The half life of trust is 6 weeks," where trust is based on face-to-face communication. As face-to-face time drops, the consequences are easy to predict:

  1. Significantly increased communication mistakes
  2. Problems in requirements, designs, test cases, etc. due to #1
  3. Significantly increased defects due to #1 and #2
  4. Increased friction between domestic vs. offshore groups due to #1-#3
  5. Reduced trust due to all the above
  6. More "us vs. them" thinking
  7. Less ability to work through problems as they arise due to #1-#6
  8. Overall reduction in effectiveness of the offshore operation due to all the above

The overarching issue here is that the consideration that most commonly causes companies to go offshore is cost reduction, so it's not hard to understand why companies that go offshore to reduce costs would also eliminate travel in these challenging times for the same reason. Unfortunately that combination creates a "perfect storm" of factors that over time will render offshore development unworkable.

It's been a few years since I've seen a widespread pattern like this where the consequences were both so damaging and so predictable. In all the companies Construx has worked with, I can't think of a single case in which offshore development has been successful for a company that didn't commit to significant face time between teams at different sites. If the current travel moratorium lasts 3-6 months, most companies will probably be able to recover. If it lasts much longer, I think we'll start to see companies "reevaluating their offshore strategies" -- and overlooking the fact that offshoring stopped working when their people stopped traveling.

Peter Williams said:

August 6, 2009 4:38:PM

As you say this was predictable, given that offshore development was driven by cost-cutting in the first place.

On the  positive side it should benefit smaller software companies who are driven by value creation.

This is also an opportunity for US and European companies who work effectively with overseas partners or divisions to create some competitive advantage.

Jérôme Radix said:

August 7, 2009 6:34:AM

It also depends on the kind of software development project. For certain intranet Web applications for example, companies are not requiring a good level of quality (wrongfully or not).

So even if the actual cost is taking 5x the cost that would normally be required if people where knowing well each other, as the man/day cost is 5 to 10x less than a European or American web developer man/day cost, at the end, the companies has still some cost reductions by using offshore services and having a "no travel" policy.

nappisite said:

August 7, 2009 7:51:AM

In my limited experience with offshoring, I'm most intrigued by the statement "I can't think of a single case in which offshore development has been successful for a company that didn't commit to significant face time between teams at different sites".  In my very small company, we've attempted offshoring twice with little to no face-to-face time.  This, I guess, is the result of not fully committing to offshoring.  From my perspective it seems like, as a company, we're looking mainly to add capacity quickly and cheaply. However, the cost goes up if we're shuttling developers back and forth to India or China regularly so we don't do it.

What strikes me about what you're saying is that face-to-face time is a requirement to success. I'm wondering if this is a question of scale?  As a small company without the dedicated resources to "manage" the offshore team, nor the resources to send developers back and forth, the burden falls on the internal development team to coordinate and train the offshore resouces via phone, IM and email, which slows productivity on both ends.  That's my experience in practice anyway, and it seems, anecdotally, to cost more to offshore than just hire more internal staff.  I'm wondering at what point does a company reach critical mass where the relative cost of dedicating resources to managing the offshore effort and paying travel cost balances with the production gleaned from the offshore team?

The Other Steve said:

August 7, 2009 10:24:AM

Perhaps this is the reality of the poor value proposition of offshoring setting in?

Bernie Thompson said:

August 7, 2009 10:57:AM

Thanks for writing this post Steve!  It's always good to hear others struggling with similar issues.

So, if it turns out there is a shift towards more caution about offshoring and multi-site development as a side-effect of the downturn -- at what point (and for what types of organizations) is that a good or bad thing?  Have big organizations been overeager about offshoring, or have they generally struck the right balance?  How about small companies that embark on it early in their growth?  

Would be great to hear what you've gleaned as best practices for deciding when in the growth of an organization or company the pros of multi-site/offshore outweigh the cons, when it's crazy, and when it's essential.

GO said:

August 7, 2009 11:18:AM

I have been looking for an article that describes this problem so clearly.  It also hits on another scenario more and more companies are moving to in order to reduce costs: Virtual Office Development.  As a matter of fact you could take this article and replace all instances of "Offshore Development" with "Virtual Office Development" and you would have my situation exactly pegged.

More than a year ago my Company decided to close some of its smaller R&D locations for "cost cutting reasons".  They offered Developers the option of moving home (Virtual Office) or they could leave.  Having been with the Company a long time...enjoying the work that I do...and believing the overall vision and strategy of the Company...I chose to stay.  After all, there are many, many perks to VO for both the employee and the Company.  Management stated that they knew the key to success in a VO deployment was having the VO employee visit the home office every 3 - 6 months.  Life was good...for awhile...

What happened?  Well, the economy went down...travel restrictions put on...and how long has it been since the last time I (or anyone) has been face-to-face in an Office with other team-members?  Almost a year.  What is the result?  Most of the consequence bullets listed in this article.  Couple this with all the things companies are doing to survive the economic crisis (furlough's, no bonuses, no raises, no 401k match, etc...) and you now have yielded a very, very toxic environment.

These are very, very tough times...and it seems to be a global problem.  I just hope that the economy turns around soon...for all our sakes.

Steve McConnell said:

August 7, 2009 2:14:PM

@Bernie Thompson:

There are lots of good reasons to set up offshore facilities, but reduced cost shouldn't be the main driver. The TCO cost savings are typically much smaller than companies expect, and labor rates in the offshore areas tend to increase over time, so there's a limited window within which cost savings will be realized. Overall if a company is offshoring primarily to reduce costs it will probably not realize its objectives.

Good reasons include getting access to other markets, gaining intelligence about other markets by hiring people who actually live there, ability to hire staff more quickly than you might be able to hire it i specific places domestically, access to specialized skills that you might not have locally, and so on.

Most companies seem to have concluded that you need 25-100 people offshore to make the idea viable. Practically speaking this means small companies probably shouldn't be going offshore. We've heard a few stories about smaller offshoring arrangements working, but they seem to be the exception and usually involve people from each location actually living at the other location for awhile (i.e., an exceptionally high level of face-to-face time).  

Steve McConnell said:

August 7, 2009 2:16:PM

@GO:

Yes, I think that's right. The only difference is that in many cases like you described the people involved have actually worked together for a long time before they become "virtualized." In those cases I think the "half life of trust" can be longer than 6 weeks. In the cases when we've seen that kind of arrangement work the people who are "virtual" still need to come in for about 1 week a month, or 1 week every 6 weeks to make that work.

I haven't personally seen a case in which *everyone* gets virtualized (i.e., no central office exists anymore). I would be very pessimistic about that working for more than a few months.

Andras Ludanyi said:

August 11, 2009 5:57:PM

The good (and probably correct) way to think about outsourcing is not so much of a cost reduction as much of a way to free up your time in order to maximize your work on areas your advantage are the greatest. If you are looking for a simple cost reduction your business is on a wrong track anyway. Outsourcing is nothing but a "device" of division of labor, so you have two general reasons why you do it:

1. To be more efficient, so you "buy" the work items from someone who are more efficient and more productive than you in that particular area.

2. To free up your time in order to do only the things you are the most efficient and most productive (where your comparative advantage is the greatest).

During this you deal with two kind of cost:

1. Transactional cost.

2. Operational cost.

If you do something in-house your transactional cost is 0 or close to 0 and your operational cost is high, if you outsource your transactional cost is high and your operational cost is close to 0. Now you must find a point where the sum of your transactional and operational cost is the less possible while your output (productivity and efficiency) are at the highest possible level. This is the art of management. If you know how to do this, you are a happy guy, if you don't then your business is a high risk gamble.

Therefore during some projects you will probably need to travel to your outsourcing vendor/partner often and during some other projects less often.The way to minimize waste (that is actually the only cost reduction you can do without loosing efficiency and productivity) is to have adequate capability to manage your project. Simply cutting travel will hurt you, cutting unnecessary travel is OK, but cutting travel which is essential to you management process is a straight way to disaster.

Steve McConnell said:

August 11, 2009 6:06:PM

@Andras

Note that my comments are not about *outsourcing*. They're about *offshoring*, or multi-site development in general (e.g., setting up an offshore captive). Outourcing introduces a whole range of additional issues above and beyond the issues I described in my post.  

Andras Ludanyi said:

August 11, 2009 6:35:PM

I understand that, but "offshoring" is just a special case of "outsourcing" where you have direct control over the resources abroad (your direct capital investment is in question). The transactional cost in this case are internal but not quite the same as operational cost. I believe everything I said about outsourcing is more or less valid for offshoring as well, unless your offshore development is an operation organized as a large number of low cost, inefficient, under-qualified bug fixing "code monkeys", but in that case no amount of travel will render you any significant improvement :)

Victor said:

August 19, 2009 5:47:AM

@Andras

Seems to me that "offshoring" implies that your team is spread across global locations. While "outsourcing" implies work being done outside your team/company.

First, I can outsource work to a company down the road and have plenty of face2face interaction

Second, the "offshoring" teams that I have seen failing are partially due to the fact that they are not consider part of the wider team, creating the "us vs them" mentality that Steve was talking about.

I think there is a large difference between managing a customer-supplier relationship and managing a team with members that are geographically disperse.

Rod Claar said:

August 19, 2009 8:11:AM

Thanks for the great post, Steve.

The damage of poor communication is predictable!

Unfortunately I see this in organizations that are all in the same building!

Excessive length of emails,

Too many responses in an email thread,

Phone tag as a practice, even a scored competition(!),

Closed doors and minds,

all lead to the same effects you point out.

What is it about the word TEAM that teams don't understand?

Rod Claar

http://EffectiveAgileDev.com

Steve McConnell said:

August 24, 2009 1:40:PM

@Andras

The issues with offshore captive development and offshore outsourcing are overlapping but not identical. With offshore captives, you have issues of recruiting, retention, and utilization that you don't have to worry about if you're outsourcing. You also view issues related to intellectual property and investment in staff capability differently. With outsourcing it doesn't make much sense (usually) to invest heavily in staff development of offshore staff, or to have offshore staff working on your "core" techology. With a captive offshore staff it often does make sense to do that.

Steve McConnell said:

August 24, 2009 1:42:PM

@Rod

Yes, these failure modes exist for co-located teams, but they exist more often and more seriously for teams that are geographically distributed. With a co-located team you at least have the option to leave your door open, run into people in the lunchroom, etc. With distributed teams it doesn't work to leave those sorts of interactions to chance -- they won't happen if you don't make them happen.  

offshore staff said:

August 28, 2009 2:43:AM

I'm glad i reached your site and be able to read you article. Thank you for the information's.

Post a Comment:

 
 

Steve McConnell

Steve McConnell is CEO and Chief Software Engineer at Construx Software where he consults to a broad range of industries, teaches seminars, and oversees Construx’s software development practices. In 1998, readers of Software Development magazine named Steve one of the three most influential people in the software industry along with Bill Gates and Linus Torvalds.

Steve is the author of Software Estimation: Demystifying the Black Art (2006), Code Complete (1993, 2004), Rapid Development (1996), Software Project Survival Guide (1998), and Professional Software Development (2004). His books twice won Software Development magazine's Jolt Excellence award for outstanding software development book of the year.

Steve has served as Editor in Chief of IEEE Software magazine, on the Panel of Experts of the SWEBOK project, and as Chair of the IEEE Computer Society’s Professional Practices Committee.

Steve received a Bachelor’s degree from Whitman College, graduating Magna Cum Laude, Phi Beta Kappa, and earned a Master’s degree in software engineering from Seattle University.
Contact Steve