Offshore hard or stay home

I’ve been working in the software development industry for the last 10 years. During my career I’ve been exposed to lots of mixed information about “offshore”. In my opinion it all boils down to the following ways of looking at it:
“It’s cheap but quality sucks”,
“It can be more expensive than hiring someone locally”
“Communication can be a problem”
“It’s a good way to start”
Let me try to elaborate each statement.

“It’s cheap but quality sucks”
An Internet Startup Company very often faces a dilemma “Quality vs. expense.” Any entrepreneur wishes to get best possible result for the lowest investment (oh really?). It is especially true at the early stages of the company’s evolution when owners have to deal with limited resources and carry lots of risks.
Considering all of the mentioned above an offshore solution sounds like a good option. One thing to consider is how you are going to control product quality on all levels (user experience and backend). It is a good idea to have a local technical manager with a good knowledge of the product who will serve as a bridge between business team and an offshore team. This person’s role would be sort of a mix of Product Manager and Solution Architect. Company relying on business people managing technical aspect of the product risk to get in a situation where “It can be more expensive than hiring someone locally”. There is one EXTREMELY important item. You must know what you want to build before you start development. No really, I mean it. I can’t emphasize it more. You must have documentation, wireframes and possibly design ready to go. Don’t underestimate importance of that. Otherwise you risk going on a rough road of stops and runs that would lead to huge delays and even total failure of the project because of the recurring expense.

“Communication can be a problem”
Language is not the only problem. There are lots of things to consider including mentality and the way people think abroad. Not to mention project documentation. A friend of mine asked his offshore project manager from India to make his web store page design to look “a bit more sexy” at the final stages of page development. He was surprised to see a really sexy page (literally sexy) in the next dev release.
Ideally you should have an insider leading your project. In other words you should have a reliable person who speaks and even thinks in the language you offshore team speaks and thinks.

“It’s a good way to start”
I believe that if you carefully consider all of the risks and do you home work before you go on the offshore road trip it can really benefit your company. The most important part is to find an offshore team you can trust. We’ve changed a few offshore teams while working on Peopleizer Corporation (www.peopleizer.com) latest product called Sociaspot (www.sociaspot.com) and I have no regrets. My advice would be do not ever give an offshore team another chance. If you don’t feel comfortable do not continue the relationship and don’t spend any more money. There are plenty of companies out there that can help you.

Good luck to all of you. No matter what road you choose I wish you to have a safe trip and reach your destination..

Advertisements

3 Responses

  1. I actually read your comment over at ReadWriteWeb not too long ago but wanted to chime in here.

    I own a Chicago-based offshore development firm and we started finding clients on Elance. The problem we ran into was the ‘Elance mentality’ where buyers act like they’re at the flea market. We realized very quickly that we’re not for everyone and that we only work with clients that demand high quality and are willing to pay for it. It’s been phenomenal for us because we deal with clients that expect top notch work.

    Finding good offshore developers isn’t hard, but finding people who are committed and reliable is next to impossible.

    Outsourcing can not be transactional… the offshore team has to be a part of your team. That way they actually understand you and are committed to you. Big companies set up captive development centers that serve the same purpose. Startups can’t do that, so the trick is to find a mature and reliable team that will become a part of you. I’m sure you don’t have the same complaints about your offshore team as others do. The real benefit is nurturing a team that’s an extension of you.

    Outsourcing is about high value, not low cost.

    Raza Imam
    http://BoycottSoftwareSweatshops.com

  2. Hi Raza,

    In my experience there is no such as thing as cheap development. Majority of software development projects in USA are either underestimated or poorly managed. So it becomes even a bigger problem when people try to offshore their apps.
    I completely agree with you that if a company has “Elance mentality” it will not be able to receive a quality product.
    I would disagree with you on transactional part. There are so many startup businesses in USA and as long as offshore development company has specialization it can help a number of different clients to jump start their business. Having an offshore team as a part of your team is a luxury not everyone can afford. Also it is always good to have an ability to rapidly expand capacity with a partner that can provide a balance among speed, quality and cost.

    Good Luck!

  3. I am contacting you through this contact form as there was no email address available. We would be interested in purchasing advertising on your blog https://klempner.wordpress.com/2007/11/29/offshore-hard-or-stay-home/
    . Please get back to me using the email address I have entered if you would be interested in discussing this further.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: