The Dummies Guide To Outsourcing From India

I donâ??t consider myself a programmer. But if I see some code in front of me (as long as it is css, html, javascript, or php) I can read it fairly well.

However, Iâ??ve had lots of experience training interns and mentoring grade-schoolers. Doing those 2 things really prepared me for hiring an outsourced team from India. I found my particular team using a service called Odesk.com. They charge a 10% commission on any person or team that you end up paying or contracting; itâ??s free to use until then.

How To Get Started: Use Odesk.com

I submitted a project description to Odesk.com. That was very easy. It walks you through all the steps, helps you find candidates, and handles all the billing and time tracking.

I had to pick the team that seemed the most reputable (they all submitted examples of their work, but some were freelancers, and some were from actual development companies). I chose my team based on their experience with projects that were pretty similar to mine.

And secondarily the team I chose seemed to have a firm grasp of English. That proved to be a misconception on my part. The person whom I thought I hired was in reality the director of Business Development for the programming company. The actual developer is not nearly as articulate. But Iâ??ll talk about that more later.

The team I have worked with all live in India and are all very anxious to please. But they are not creative in the least. Therefore, I have to spell out each task to them as if they had a 5th grade education.

And not to slight the 5th graders at all; itâ??s just that the simpler I make my tasks for my India team, the quicker and more accurately they accomplish them.

You Might Want To Brush up on Your Grammar

If youâ??re going to outsource from India, or any 3rd world for that matter, you should have excellent written communication skills. Not just your average â??Oh, I can write an email with blinding speed and have a 0 inbox policy.â?

What you need to be able to do is deconstruct a fairly complex idea, and write it in words that your 10 year old would understand. If you donâ??t have a 10 year old handy, try writing a technical document your grandma would understand.

Photoshop is Your Best Friend

You should also have a favorite photo editing software that youâ??re familiar with. A picture is literally worth 1000 words or more when trying to describe anything to an outsourced team.

A Big Mistake

I thought I was going to need to get up at the crack of dawn every day and have a skype call with my team. Nope. Not only is it nearly impossible to understand their English, I found myself worrying about if I had just told them to nuke the US or not. Literally.

Donâ??t worry about the different time zones. Teams in India will generally be working from about midnight to 7 or maybe 8 am. Any communication you need to have doesnâ??t require instant feedback; in a development project, taking the time to write out a very simple task is worth the wait.

Understand The Handwriting on The Wall

You should have a grasp of some programming language, either to be able to read it or interpret it. Before starting any coding project in general, you should have already decided what program language youâ??re going to need anyway.

There are 2 reasons you need to know how to read code: 1) It is super easy for an outsourced coder to write a piece of code that seems to function well, which then breaks on the next version of your system. Â 2) Sometimes you can help the coders by providing them snippets of code for examples; being able to read code in the first place makes providing relevant examples pretty painless.

Making Realistic Timelines

If you have to report to someone on when the project will be done, always plan on adding at least 7 days to any time estimate. For most projects, thatâ??s a safe plan. For a coding project, thatâ??s a minimum.

And donâ??t bother telling your outsourced team when you want to complete the project; theyâ??ll take that date to mean when they should start working.

Testing Environments

Itâ??s imperative that your team has a testing environment set up to test their code. But you should have a live version going alongside it at the same time so you can see live bugs and catch them before you release your beta version.

I like to break things; so by having a live product to test, it can easier to find the bugs than it would be to find bugs in a testing environment.

Additionally, asking family, friends, and coworkers to check out the latest new feature of the project helps you catch little nuances or even big ones that you may not have caught yourself. And it helps if they can all see the project in a live environment.

Setting Budgets Realistically

Itâ??s impossible to figure out exactly how much youâ??re going to have to budget out for a project before it starts. But you should have a goal budget in mind; and make your team sign an agreement that they will get x amount of items done within that budget.

Most development firms will give you a written estimate of the time and cost they believe that your project will require. You should use that as a guide; nothing more.

Handling Problems and Stress

In developing, as in life, the only things that are certain to remain unchanged are stress and problems. So just an FYI: assume there will be a problem or 20 to figure out every week, and youâ??ll be pretty well prepared for any project.

The Moral of The Story

If you want to outsource from India, expect delays, budget overages, disappointment, and frustration. But if you know how to be organized and explain yourself well, you can have a successful product launch.

Adam Torkildson is a Senior Associate at Snapp Conner PR. He is the lead developer of the PR Scorecard product, which was built with help from an outsourced team in India through the use of Odesk.com