views:

72

answers:

3

A small web development group (less than 15 people) I do some work for is looking at outsourcing some work. Through a series of random events they will soon be without a front end developer and a graphic designer. Rather than hire these positions back on, there is talk of outsourcing the work to a group in a nearby state that manages developers all over southern asia. So far there has not been any discussion of exporting core code development (.. because then they wouldn't even be a development group!).

I am inherently nervous about this idea, but willing to concede that might just be due to personal sensibilities. I have never worked in an organization that sent work out of the country and have the typical reservations mostly centered around quality and project communication. I'm particularly concerned about having two consecutive steps in the development chain outsourced. Has anyone had positive experience with quality & communication in a web project outsourced to the point of code development? Negative? Recommendations?

I understand that this approach looks very attractive in many ways. Per hour costs are considerably lower, this company would be isolated from the problems with sudden employee absences (which are more of a problem in a smaller company), the ability to get 8 hours of work finished between the time the developers leave and when they come back the next morning is pretty big.

What else? Pros and cons? What steps could be taken to ensure success?

(Calm, factual, rational arguments and opinions preferred.)

A: 

Having dealt with this before, my professional opinion is that it is perfectly reasonable if done correctly. You want to outsource small isolated bits and have a dedicated person around to manage the outsourced work.

Don't fall into the trap of too many layers. If you're working with a firm that then works with offshore devs/designers, you already have two layers. Each layer makes it hard to communicate and introduces delays as you're dealing with two sets of schedules, two timezones, etc. You also have the "double-pimp" effect.

In my experience it is relatively easy to find reliable freelancers. Your PM can then manage these individuals similar to regular FTEs. If you want to lower your costs further, troll the local colleges for hungry talented students. Start them on something small, see how they do. It's a mutual win.

JasonCoder
Just to play devil's advocate to your last paragraph.. Why use local free lancers? They are going to cost significantly more and be less reliable than a firm that manages many other remote developers. How long a relationship would you expect to have with a freelancer? Consistently more than a year (less with college/younger folks)? That would be kind of a minimum in my mind. What are the benefits? A more personal relationship and diminishing time communicating as they learn the business' habbits. Sure. But the price tag is very influential.
sing1ejack
Price tag usually factors more than the hourly rate of the dev. The firm is going to add margin. Loss of control can prevent you from being as responsive as you'd like.Relationships can last decades if both parties are benefiting. I noticed that the agencies that kept relationships had less contractor churn and thus less time spent finding new freelancers as well as your mentioned familiarity.If the bottom line is price, sometimes the required time and effort goes up with quality down.
JasonCoder
A: 

I'm a Chinese. I got some outsourced projects from my clients these 3 years and re-outsourced some projects to Chinese developers/designers under the permission of my clients recently.

I suggest finding proper freelancers and building the long and stable business relationship with them. A proper freelancer should

  1. be familiar with the skills that the outsourced project requires.
  2. be good at communication. A foreign freelancer who can't discuss requirements or problems with you is useless.
  3. be responsible. Whether the freelancer is willing to email the client daily reporting the progress or other issues? Whether the freelancer is willing to fix the bugs in the project, even if they're not introduced by him/her? Whether the freelancer is willing to maintain the project for a long time?

How to manage proper freelancers?

  1. Make the requirements as clear as possible.
  2. Keep contact with them daily.
  3. Be tolerant if they make small mistakes.

That's all. Just my 2 cents. :)

boxoft
A: 

Outsourcing to local freelancers that you can bring into the mix of the total project cycle is good.

Outsourcing overseas will only dump endless headaches on you. Their process doesn't accommodate agile type processes of team collaboration and quick releases. They prefer a process heavy on documentation. You soon learn that you could have built it yourself quicker than documenting it all.

DA