Software development outsourcing and client proximity

I had a recent comment come in that I wanted to share:

I was wondering what your take was on Consulting firms. Although it is not offshore outsourcing, in some sense, it is still outsourcing their projects to firms. I totally agree with you regarding the lack of communication and planning to execute and deliver projects when attempting to have someone work on a project 2000 miles away from you.

The short of it is there is still risk in outsourcing no matter the proximity, however, I believe that there are three key tenets that facilitate failure in the situation:

  • Spoken and written language comprehension
  • Cultural awareness and differences
  • location, location, location

Communication plays a fundamental role in project success, whether it is with the local project team, virtual team members, or external parties. I believe the biggest challenges we face with traditional overseas outsourcing revolves around this, however I have experienced similar challenges with outsourced work with American vendors for different reasons all together, so there's a project risk either way.

Fundamentally it comes down to a risk management decision for the client. I have found that groups and companies that do not have their own crisp corporate governance, operational and infrastructure policies are more often than not unsuccessful in outsourcing (root cause is uncontrolled chaos undermining communication plans and data management policies). In a vendor/client model there are a few things we have exercised to be successful: emphasis on information security, a clear and well understood communication protocol, and frequent audits to ensure policy compliance. Above all of that there's also the associated business risk of the outsourcing deal that needs to be managed up front. In either "near" or "far" outsourcing, the recognition of a failing deal is pivotal to shifting risk back on to the vendor.