The Economic Times recently reported that Kreeda Games out of India has received just under $10 million in VC funding from IDG Ventures and SoftBank China & India Holdings. The focus of the company is producing content for India itself, which is a good indicator of how mature the technology sector is getting over there.
Of course, developers in the West have long known that India's technology sector is quite robust. The economic differences, combined with the high number of skilled programmers, makes it an attractive place to outsource work of all kinds. While I've personally run outsourcing projects with a number of programmers and middle-managers over the past few years, it never occurred to me before today that people might want to outsource work for virtual worlds.
If you're thinking about sending some of your work over there, however, take heed: it's not as easy as sending off some quick instructions and getting your work back at a huge discount. Here are some things to keep in mind:
1. It's A Different World
A web developer we had been using reliably and consistently disappeared on us for a few days at a critical juncture, and we couldn't figure out why. She had mentioned that she was going to be traveling from one city to another but hadn't mentioned any delays, and we feared the worst. As it turns out, what she meant by that was that she would be on a train for a day, then have to spend another day taking care of family upon her arrival, and then she could think about figuring out how she was going to get back online and catch up on email. She assumed we understood this, and it was purely the cultural divide that caused the confusion.
Watch a few subtitled Indian movies, hit a few restaurants, and maybe even catch a little of their local news. If the person you're dealing with mentions anything about their personal life, you need to know what they're implying. Ask questions - you never know what might end up having business implications.
2. Same Phrase, Different Meaning
Picture this scenario:
- "So we want it all to be blue. Is that clear?"
- "Yes."
- "Any questions?"
- "Did you want it all erased or just the blue?"
- "Erased? What? No! We just want you to change the color!"
- "Oh ok I understand."
- "... do you?"
This happens a lot. One of you will say something that you'll think is crystal clear, and the other will interpret it wildly differently than what was intended. There are two different ways to address this: A) Ask them to repeat your instructions back to you their own way. (This alone resolves 75% of the issues.) B) Vary your communication medium. Email, live chat, and voice all force people to think differently about how to get a message across. Find what works for them, not for you. After all, they're the ones trying to work in a foreign language.
3. Budget For Disaster
In a recent project we had a developer put together a small Web 2.0 style application for a client, but they failed to realize that the client wasn't interested in programming in PHP/MySQL every time they created a new entry. We ended up with a product that was only 60% completed, but fortunately we had anticipated problems and budgeted accordingly. We're paying someone else twice as much for the last 40% as we did for the first 60%, but it will be worth it.
Sometimes you discover that the expectations are different on one end than on another, and your contract can be interpreted either way. That's often nobody's fault, but have a backup plan in place before you even begin negotiations.
4. Never Take "Yes" For An Answer
When we first started outsourcing we were the victim of false promises; a programmer had claimed he could do many things he couldn't, and even provided examples that were similar. Months after the promised due date we ended up with a product that just barely did what we needed it to do, having been strung along by a never-ending series of requests for "just a few more days".
Outsourcing is very competitive, which drives down the price. The problem is that when there are only a few jobs up for grabs, people will be tempted into "fake it 'till you make it" mode. They may say that they can do things or meet deadlines that are just beyond them. Ask them to rationalize their promises, show evidence of past similar achievements, and make sure that you have the commitment in writing.
5. Be Polite!
Luckily for us, we happened to have followed tip #1 enough to pick up on this little subtlety before we behaved like buffoons: Indian people are very polite.
Westerners want to get to the point immediately. That can be very dehumanizing of us, and ignoring the pleasantries can be downright insulting even if we don't mean it that way. Conversations open with discussions about health and family. If time is a factor, plan for it. An insulted tech rarely gives the job their best effort. Kindness could save your business!
6. Risk Mitigation
There are a number of things you can do to limit risk, especially if this is your first time outsourcing work.
When starting with a new company, unless they can show a long track record of work much bigger than your project, start small with them first and work your way up. Many will be willing to handle some of the preliminary work first for a minimal fee to make sure you're comfortable.
Also, if the nature of your project allows it, divide it up into small jobs and distribute them between a variety of independent developers. It's more work on your end, but if this is your first time outsourcing to another country, it's best to make your mistakes on a small scale!