Today I had a conversation with a client in which he told me about his frustrations trying to get quality web development done overseas. The lure of ultra low-cost development is definitely powerful and I certainly read plenty of success stories in my business magazines.

So why isn't it working for my client? Why hasn't it worked when my company has tried it? I'm not certain I know all of the reasons, but I have a few ideas at this point.

  1. Type of project

    It seems like most of the success stories I read involve mid- or large-sized companies who have a web development need that is consistent and predictable (same thing over and over). I am not personally aware of any small companies who're having great luck with small, one-off projects.

    If a project is sufficiently long to absorb some of the training costs of bringing a foreign team up to speed, I think the odds of success go up. Working on a small project with an overseas team can be pretty inefficient. There isn't adequate time to work through communication issues, train the developers on the unique nature of your project, etc.

  2. Quality of requirements sent

    In defense of programmers everywhere, and specifically those who're offering overseas outsourcing in this case, most clients give pretty crappy requirements. I've seen everything from the proverbial napkin-sketch to a bulleted list of 3 or 4 requirements and been expected to accurately estimate and deliver a finished product from this.

    Whether in or out of the U.S. the amount of detail a programmer needs to do his or her job is always more than a client thinks should be the case.

    The problem is severely exacerbated in overseas development due to the issues inherent in cross-culture, cross-continent communication. My team is exceptional at "interpreting" clients' requirements but even we find it challenging.

    I believe your odds of success overseas is, in part, related to the quality of the specs you send.

  3. Actual quality of work and skills

    This is the one that has me most concerned. I've honestly never worked with an offshore developer whose skills matched or exceeded those of my in-house developers. My programmers are better every time. More expensive? Yes, but I believe quality matters too much to accept sub-par work just to save some dough.

    I think there are definitely situations where "good enough" does the job, but our clients are very detail oriented and the quality of our work is crucial to our reputation. Additionally, our clients bring us a very wide variety of projects so we're often working with new technologies and pushing the limits of our skills. I need developers whose skills are current and who can solve problems they've not yet encountered.

    Even with the "simple" stuff we've been sorely disappointed. We recently spent a significant amount of time trying to hire a few overseas programmers who could take website design files and slice and program them. We advertised for expert-level programmers and were willing to pay a premium to find them.

    The experts who applied had 2-3 years experience and were mostly Dreamweaver and FrontPage users. Not one of them was capable of writing clean, semantic markup or creating tableless, CSS-based layouts. The discrepancy between the design file we sent and the "finished" website that was delivered was shocking in every case. Not even close.

    I maintain hope that there are actually some high-quality programmers somewhere out there. Maybe some of these skills are just still too new? Maybe the overseas programmers will eventually catch up?

  4. Communication

    There probably isn't much controversy on this subject. Communicating with a team in Asia means being up in the middle of the night. Worse, it means work that needs to be done ASAP isn't possible and change-orders to a delivered project might take a day or two, due to the time zone differences.

    I've read with interest about outsourcing options springing up in Central and South America. Most countries there are within a few hours of any U.S. time zone so this is much more reasonable. I haven't tried any firms there yet but I'm hopeful that at least the time zone issue can be crossed off the list of problems!

    In addition to the time zone issues, cultural and language barriers also exist. English spoken with an accent over a Skype connection can almost sound like a foreign language.

    Again, for long-term projects or relationships I think communication issues can be resolved.

I'm still holding onto hope that I may have a successful experience at some point, but I've also accepted the possibility that the types of projects we do and the level of quality we need may not be achievable.

I'm interested in hearing about your experiences outsourcing to overseas firms. What challenges have you faced? What secrets to success have you discovered?