As a US expatriate (of US origin) living in Bangalore and setting up a software company here, it gets tiresome to here the continuous exageration about the price differential between the US and Indian workers. In the article, things like taco bell wages and 1/6th the rate were mentioned. This isn't the real story.
Bangalore rates are between 3-14 lakhs/year which comes to about $7000 to $31000. While $7000 may be a small fraction of the US rate, this is for someone with a junior college level of skill who has just graduated. Within 8 years they are over $20,000. probably about 1/4 of a US equivalent.
On top of that, most US firms aren't paying that rate. From a fully burdened perspective taking in to account communications, travel and other overhead, most companies are pretty lucky to get a 3 to 1 ratio and 2 to 1 is probably closer to correct.
What's more, they are already scraping the bottom of the barrel for available talent. I take interviews every day with people who are WORKING engineers with a junior college level of education who can't answer very simple programming problems. The best people will ask you straight out for 30% more than their last job which they've had for only 1 year.
The assumption that India can continue to take jobs at the rate it has is absurd, and the upward pressure on rates will make it less attractive as a destination in the future.
There are many GREAT engineers here, and they work for a fraction of the US rates, but extrapolation is the tool of the devil. Let's stop all this end-of-the-world talk.
A little harsh since you don't appear to know much about this topic yourself.
1) Computer chess hasn't had an inovation in YEARS (null move being the most recent major "innovation" with any real overal impact on play). All that's been going on is massive speed improvement and tweeking the heuristics to keep up. Many of today's best programs play worse than older ones when forced to play on slow hardware.
2) Almost all computer "AI" in the programs you've mentioned involves cheating by giving the computer various unfair advatages. No one in the field describes these programs as having any important AI aspects.
3) Google is amazing, but contains no AI innovations that I'm aware of. Searching technologies, algorithms and techniques are a pretty old field with very little innovation.
While there are interesting new innovations in CS that are termed AI, you didn't seem to know what any of them were. Most of the good CS innovations continue to be in other areas.
The world is neither overly dangerous nor completely safe. If you want to find out just EXACTLY how dangerous the world is, pick up a copy of The World's Most Dangerous Places. Odd's are, in almost any country in the world, if you're gonna die it's gonna be in a car crash. The Peace Corp won't send you to any of the 10 or so countries where that's not the case (Columbia, Chechnya, Burundi, Angola, Algeria, Somalia, and Afghanistan being the truly dangerous ones). In fact they won't send you to the next most dangerous tear below that either.
While not a Peace Corp volunteer, I heartily recommend this approach. I've worked with the Peace Corp in both Africa and South America and it is one of the best organizations you can actually get in to. What's more it will give you enough free time and money to see more than just the host country. Be prepared to be a science teacher:)
I think the war on drugs is an important war because it is against drugs. I know a lot about drugs and I'm against them. As Governor of Texas I spent a lot of time working on the war on drugs. My father fought the war on drugs. My wife and kids are important to me and that's why I think we need to win this war. When I'm elected this great nation will empower people to help win the war.
Al Gore:
As vice president I've been deeply and intimately involved in the war on drugs. When my wife and I are making passionate love together we will frequently discuss the war on drugs and how we can better fight it. Did you know that 1 out of every 5.67345249 children will be approached by a drug dealer tomorrow? In fact, a mere 1.36752 ounces of cocaine is enough to trigger violent seizures in my son. I've studied drugs extensively and invented several myself. My running mate, who is Jewish, has often asked me how someone as unready as George W. Bush could possibly be allowed to lead this nation in the war on drugs. I have no opinion on this, but I thought you should know what he's been asking me.
2) Minority Religions...
George Bush:
Many smaller religions are minority religions. We have several in my home state of Texas. I think these people have religions that are different from ours and I respect that.
Al Gore:
I know a lot about minority religions. I have studied all of the minority religions and believe in them all. Why just last night, as my wife was kissing me passionately, we were talking about the epistemology of the Baha'i religion. I don't think George Bush knows how to spell Baha'i.
3) Why give a tax cut?
George Bush:
Tax cuts are important to me and as Governor of Texas I was very familiar with taxes and cuts. By giving a tax cut we will help the American people to do all the important and wonderful things that make this nation great!
Al Gore:
I think that targeted tax cuts will help right all of the historical wrongs done to the many people of this nation. When elected I will form a panel to find every individual who should be targeted and make sure they are. My proposal includes targeted cuts to seven people in Alabama, that's how well I know the needs of this country. I don't think George W. Bush knows any people in Alabama.
4) electoral reform
George Bush:
I support election reform to help stop the special interests like lawyers, teachers, and labor unions from controlling the electoral process.
Al Gore:
I support election reform to help stop the special interests like gun fanatics, oil drillers, and wealthy people unions from controlling the electoral process.
5)How Do You Feel About Intellectual Property?
George Bush:
As Governor of Texas, I had to deal with many intellectuals, and I still own some property. When Elected, I'll help empower all the people of this great nation so that many of them can become intellectuals and own property.
Al Gore:
I think that it's very important for government to support intellectual property rights. Many of the issues related to IP are complex and involved. I know all of these issues. In fact, I'm responsible for writing most of the existing laws on intellectual property. When elected I'll take time out from kissing my lovely wife to personally decide every complicated issue related to intellectual property. I don't think George Bush has a wife who's as prettyu as mine.
5) Encryption....
George Bush:
My father was head of the CIA. The CIA has lots of encryption. The government should stay out of people's encryption issues. In Texas we stayed out of peoples encryption issues.
Al Gore:
Encryption is an issue I know a lot about. In fact, I invented 3DES, Idea, and several other encryption technologies. As president I'll pass many good and important laws about encryption. I don't think that George Bush ever invented encryption.
6) Rising Political Protests
George Bush:
It's hard to believe that anyone could know as much about Politics and protests as I do. My father was president and there were many protests at that time. People protest many different things. Even people who speak other languages often protest. My Nephew speaks Spanish and so I know. As president I would energize people and empower them so that political protests would be less of an issue.
Al Gore:
I am my own man. As an independent thinker, I believe that people have the right to protest. Many protests involve complicated national and international issues. In fact, 32.767854 per cent of all protests involve issues of complexity. As president I will enact many specific measures that will solve all of these complex issues. I'll even take time out from making passionate love to my wife to speak to many of these protesters so that they can learn many of the things that I can teach them.
7) Asteroid Defenses
George Bush:
Asteroids are a serious problem. We have asteroids in Texas. In fact, many truck drivers in Texas often complain about the problem of Asteroids. I myself have had asteroids and can tell you they are very painful. Asteroids are a personal problem and as president I will empower people to solve the problem of asteroids. This great country can solve any problem if the government stays out of the way.
Al Gore:
I know a lot about asteroids. Did you know that the EROS asteroid circles the sun every 1.23452 earth years. In fact I've been to several asteroids. Many asteroids are so impressed by my loving relationship with my wife that they will want to come to earth when I am elected.
8) The Future of the Country, and of Humanity
George Bush:
I'm glad you asked that question. As president I will empower the people and move this country to a glorious future that is filled with empowered people. I'll surround myself with the kind of people who will make this country and this world a better place. I'll cut taxes and give people the chance to make the country better.
Al Gore:
This is an important question and one that sets me apart from the other candidate. I understand what is going on in this nation and the world. I'll pass many laws that will solve many complex issues and make this country better. Did you know that a woman in Montana named Betty is one of my advisors? By asking questions of common people like Betty, who is dying of five incurable diseases, I'll be able to know how best to guide this country. Betty thinks that George Bush isn't ready to be president. I have no opinion about that
Really, that's what they told me.
Kevin Barnes
kbarnes@onesecure.com
The other day I did a little calculation. I figure I'm currently bringing in about 75 dollars an hour for my work. I use this figure to help me gauge the value of my various activities.
Not including the time it would take to actually figure out who to vote for, I figure it would take me a minimum of 30 minutes to actually go out and vote. I value these thirty minutes at about 38 dollars.
I figure my odds of my one vote actually effecting the outcome of the ellection are slightly less than the odds of winning the lottery with a single ticket.
If I had a million dollars I suspect I could use it to influence some government policy, or even better I could use it to some generically useful and benneficial purpose.
Come election day I'm buying 38 lotto tickets. I probably won't win, but my odds are better than yours:)
Over the last few years I've had several opportunities to view the problem of outsourcing development from different perspectives. Primarily I've been in the business of picking up failed projects and teams and making them successful, but I've also lived abroad and run development projects from there.
I've seen projects fail when done by internal teams, US contractors, and overseas contractors. Although there are many reasons why projects fail, most projects fail because of poor leadership. Poor leadership can take many forms: failing to fire the jerk whose blowing smoke and slowing everyone down; applying too much, too little, or inappropriate processes; failing to apply pressure and set deliverables; applying too much pressure and setting unreasonable deliverables; poor communications; inadequate analysis; too much analysis; poor hiring practices, etc, etc, etc.
Adding contractors to the mix is not an always/never kind of deal. Contract/outsourcing (US) can solve a variety of problems. Generally it's done for a few different reasons: 1) managerial uncertainty (fear of failure), 2) missing temporary skill sets, 3) lack of strong internal development teams, 4) short term development needs greatly exceed long term needs. Of these, 2 and 4 are valid, whereas 1 and 4 are just looking for trouble. Hiring outsiders must be done to solve a SHORT TERM manpower need. This isn't to say that a manager who hires an outside company for the wrong reasons won't succeed, but it's definitely a roll of the dice.
Running an outside development project has ALL the same problems as running an inside one PLUS a few others.
The first thing to remember is that it's not a company that you're bringing in but a group of individuals who will act as a new development team on your behalf. Like any team, these people can have a range of skill levels. Many contracting companies won't be able to let you meet the developers they bring to the table before you've actually inked a deal (the big ones like AC, EY, KPMG, etc are especially bad in this respect). If you can meet the team and literally interview them before the fact, then you should. If you can't, then you have to be ready to get rid of people and ask for others at no cost to you. One of the impediments to doing this can be the project managers that such teams bring with them. Frankly, the PMs at consulting companies are probably much better than the PMs that most companies have internally. The one drawback they have is that they tend to protect the interests of the contracting company FIRST and your interests SECOND. This means that you need to be more aware of his or her individual tasks and activities than you would be of someone who works directly for you. (Manage the relationship closely).
The second thing that is critical is up front analysis. Most contracting companies want to come in and do a requirements/needs assessment first. The result of such an assessment should be a clear set of requirements and general documentation that will form the basis of your project definition. One of the problems with this is that the 100-page (mostly boilerplate) result is not the best way to help YOU understand your OWN requirements and needs. If you don't understand your OWN NEEDS, then failure is right around the corner. If you have the money and time, go ahead and let them do the assessment, but only after you have put together your own basic requirements. As your requirements are gathered make sure all the stakeholder are personally and INTIMATELY aware of the details of the requirements that are gathered. Remember that this process is garbage in garbage out. They may turn out a bunch of junk requirements if your stakeholders haven't taken the time to think through there own needs. Bringing in outsiders can give stakeholders a false sense that their needs will "automatically" be met. (Manage the relationship closely)
Assuming that you have "good requirements", whether generated internally or externally, the challenges aren't over. The nature of any sufficiently large development effort is some degree of iteractiveness. That means the developers need to be able to COMMUNICATE with a variety of people throughout your organization. Some of these people are technical, and some aren't. Either way, if communications breaks down or becomes formalized to death, you'll get something that "meets the requirements" even though the requirements are wrong. The internal/external nature of the relationship can make communications doubly difficult. Sometimes people may be knowingly or subconsciously sabotaging the effort (a developer unhappy that outsiders were brought in says "I'll just let them go ahead and fail" and sure enough they do). Communications, collaboration and intimacy are the nature of the game. (Manage the relationship closely)
The last issue is the final handoff. Products rarely meet all expectations, and most have some degree of fixing and maintenance after the fact. The final "handoff" usually involves a bunch of documentation (half to 2/3 of which is either boilerplate or wrong). Not surprisingly, this is not an ideal way to communicate. Most communication is an iterative two way process. Even face-to-face conversations frequently end with two people walking away with completely different ideas about what was said. If the team (or individual) who takes over the system doesn't adequately understand/respect what s/he's getting then you can pretty well bet that it'll get junked/gradually-rewritten-over-time. Ultimately, some period of phasing out is desirable to let the new and the old transfer adequate understanding/respect to allow the transfer to succeed. As long as you manage the relationship closely this can be done.
Those of you still unclear on the concept: manage the relationship closely.
Having said all that about US contracting, how does it all apply to overseas contracting? Generally there is only ever one reason for doing overseas contracting: money. There can be little doubt that this is a valid motive, but being cheap (and oversees contracting IS CHEAP) doesn't solve the problems of doing successful development.
Developers in other countries are just like developers here: some suck, some really suck, and some kick a??. Unfortunately, you'll not get the chance to meet to many if they live 10,000 miles away, so you'll have to pay more attention to the code and design documents. Remember: CODE IS TRUTH! Do regular code reviews, bring their milestones in house and have someone try to figure out how they work. If things are going badly, remember the principle of sunk costs and abandon-ship/demand immediate change. (Manage the relationship closely).
Foreign countries CAN mean language barriers. Make sure that individual goals and milestones are meeting your expectations. Don't let them go to far down a blind alley.
If you have the time to do these things, you have a well-defined project with well-defined goals, and you are lively and unprejudiced, then give it a shot. Unfortunately, at least one of these probably doesn't apply to you, so you should probably do it in house:)
Kevin Barnes
Sr VP of IT
OneSecure
kbarnes@onesecure.com
As a US expatriate (of US origin) living in Bangalore and setting up a software company here, it gets tiresome to here the continuous exageration about the price differential between the US and Indian workers. In the article, things like taco bell wages and 1/6th the rate were mentioned. This isn't the real story.
Bangalore rates are between 3-14 lakhs/year which comes to about $7000 to $31000. While $7000 may be a small fraction of the US rate, this is for someone with a junior college level of skill who has just graduated. Within 8 years they are over $20,000. probably about 1/4 of a US equivalent.
On top of that, most US firms aren't paying that rate. From a fully burdened perspective taking in to account communications, travel and other overhead, most companies are pretty lucky to get a 3 to 1 ratio and 2 to 1 is probably closer to correct.
What's more, they are already scraping the bottom of the barrel for available talent. I take interviews every day with people who are WORKING engineers with a junior college level of education who can't answer very simple programming problems. The best people will ask you straight out for 30% more than their last job which they've had for only 1 year.
The assumption that India can continue to take jobs at the rate it has is absurd, and the upward pressure on rates will make it less attractive as a destination in the future.
There are many GREAT engineers here, and they work for a fraction of the US rates, but extrapolation is the tool of the devil. Let's stop all this end-of-the-world talk.
A little harsh since you don't appear to know much about this topic yourself.
1) Computer chess hasn't had an inovation in YEARS (null move being the most recent major "innovation" with any real overal impact on play). All that's been going on is massive speed improvement and tweeking the heuristics to keep up. Many of today's best programs play worse than older ones when forced to play on slow hardware.
2) Almost all computer "AI" in the programs you've mentioned involves cheating by giving the computer various unfair advatages. No one in the field describes these programs as having any important AI aspects.
3) Google is amazing, but contains no AI innovations that I'm aware of. Searching technologies, algorithms and techniques are a pretty old field with very little innovation.
While there are interesting new innovations in CS that are termed AI, you didn't seem to know what any of them were. Most of the good CS innovations continue to be in other areas.
The world is neither overly dangerous nor completely safe. If you want to find out just EXACTLY how dangerous the world is, pick up a copy of The World's Most Dangerous Places. Odd's are, in almost any country in the world, if you're gonna die it's gonna be in a car crash. The Peace Corp won't send you to any of the 10 or so countries where that's not the case (Columbia, Chechnya, Burundi, Angola, Algeria, Somalia, and Afghanistan being the truly dangerous ones). In fact they won't send you to the next most dangerous tear below that either.
:)
While not a Peace Corp volunteer, I heartily recommend this approach. I've worked with the Peace Corp in both Africa and South America and it is one of the best organizations you can actually get in to. What's more it will give you enough free time and money to see more than just the host country. Be prepared to be a science teacher
1) War on Drugs
George Bush :
I think the war on drugs is an important war because it is against drugs. I know a lot about drugs and I'm against them. As Governor of Texas I spent a lot of time working on the war on drugs. My father fought the war on drugs. My wife and kids are important to me and that's why I think we need to win this war. When I'm elected this great nation will empower people to help win the war.
Al Gore:
As vice president I've been deeply and intimately involved in the war on drugs. When my wife and I are making passionate love together we will frequently discuss the war on drugs and how we can better fight it. Did you know that 1 out of every 5.67345249 children will be approached by a drug dealer tomorrow? In fact, a mere 1.36752 ounces of cocaine is enough to trigger violent seizures in my son. I've studied drugs extensively and invented several myself. My running mate, who is Jewish, has often asked me how someone as unready as George W. Bush could possibly be allowed to lead this nation in the war on drugs. I have no opinion on this, but I thought you should know what he's been asking me.
2) Minority Religions...
George Bush:
Many smaller religions are minority religions. We have several in my home state of Texas. I think these people have religions that are different from ours and I respect that.
Al Gore:
I know a lot about minority religions. I have studied all of the minority religions and believe in them all. Why just last night, as my wife was kissing me passionately, we were talking about the epistemology of the Baha'i religion. I don't think George Bush knows how to spell Baha'i.
3) Why give a tax cut?
George Bush:
Tax cuts are important to me and as Governor of Texas I was very familiar with taxes and cuts. By giving a tax cut we will help the American people to do all the important and wonderful things that make this nation great!
Al Gore:
I think that targeted tax cuts will help right all of the historical wrongs done to the many people of this nation. When elected I will form a panel to find every individual who should be targeted and make sure they are. My proposal includes targeted cuts to seven people in Alabama, that's how well I know the needs of this country. I don't think George W. Bush knows any people in Alabama.
4) electoral reform
George Bush:
I support election reform to help stop the special interests like lawyers, teachers, and labor unions from controlling the electoral process.
Al Gore:
I support election reform to help stop the special interests like gun fanatics, oil drillers, and wealthy people unions from controlling the electoral process.
5)How Do You Feel About Intellectual Property?
George Bush:
As Governor of Texas, I had to deal with many intellectuals, and I still own some property. When Elected, I'll help empower all the people of this great nation so that many of them can become intellectuals and own property.
Al Gore:
I think that it's very important for government to support intellectual property rights. Many of the issues related to IP are complex and involved. I know all of these issues. In fact, I'm responsible for writing most of the existing laws on intellectual property. When elected I'll take time out from kissing my lovely wife to personally decide every complicated issue related to intellectual property. I don't think George Bush has a wife who's as prettyu as mine.
5) Encryption....
George Bush:
My father was head of the CIA. The CIA has lots of encryption. The government should stay out of people's encryption issues. In Texas we stayed out of peoples encryption issues.
Al Gore:
Encryption is an issue I know a lot about. In fact, I invented 3DES, Idea, and several other encryption technologies. As president I'll pass many good and important laws about encryption. I don't think that George Bush ever invented encryption.
6) Rising Political Protests
George Bush:
It's hard to believe that anyone could know as much about Politics and protests as I do. My father was president and there were many protests at that time. People protest many different things. Even people who speak other languages often protest. My Nephew speaks Spanish and so I know. As president I would energize people and empower them so that political protests would be less of an issue.
Al Gore:
I am my own man. As an independent thinker, I believe that people have the right to protest. Many protests involve complicated national and international issues. In fact, 32.767854 per cent of all protests involve issues of complexity. As president I will enact many specific measures that will solve all of these complex issues. I'll even take time out from making passionate love to my wife to speak to many of these protesters so that they can learn many of the things that I can teach them.
7) Asteroid Defenses
George Bush:
Asteroids are a serious problem. We have asteroids in Texas. In fact, many truck drivers in Texas often complain about the problem of Asteroids. I myself have had asteroids and can tell you they are very painful. Asteroids are a personal problem and as president I will empower people to solve the problem of asteroids. This great country can solve any problem if the government stays out of the way.
Al Gore:
I know a lot about asteroids. Did you know that the EROS asteroid circles the sun every 1.23452 earth years. In fact I've been to several asteroids. Many asteroids are so impressed by my loving relationship with my wife that they will want to come to earth when I am elected.
8) The Future of the Country, and of Humanity
George Bush:
I'm glad you asked that question. As president I will empower the people and move this country to a glorious future that is filled with empowered people. I'll surround myself with the kind of people who will make this country and this world a better place. I'll cut taxes and give people the chance to make the country better.
Al Gore:
This is an important question and one that sets me apart from the other candidate. I understand what is going on in this nation and the world. I'll pass many laws that will solve many complex issues and make this country better. Did you know that a woman in Montana named Betty is one of my advisors? By asking questions of common people like Betty, who is dying of five incurable diseases, I'll be able to know how best to guide this country. Betty thinks that George Bush isn't ready to be president. I have no opinion about that
Really, that's what they told me.
Kevin Barnes
kbarnes@onesecure.com
The other day I did a little calculation. I figure I'm currently bringing in about 75 dollars an hour for my work. I use this figure to help me gauge the value of my various activities.
:)
Not including the time it would take to actually figure out who to vote for, I figure it would take me a minimum of 30 minutes to actually go out and vote. I value these thirty minutes at about 38 dollars.
I figure my odds of my one vote actually effecting the outcome of the ellection are slightly less than the odds of winning the lottery with a single ticket.
If I had a million dollars I suspect I could use it to influence some government policy, or even better I could use it to some generically useful and benneficial purpose.
Come election day I'm buying 38 lotto tickets. I probably won't win, but my odds are better than yours
Over the last few years I've had several opportunities to view the problem of outsourcing development from different perspectives. Primarily I've been in the business of picking up failed projects and teams and making them successful, but I've also lived abroad and run development projects from there.
I've seen projects fail when done by internal teams, US contractors, and overseas contractors. Although there are many reasons why projects fail, most projects fail because of poor leadership. Poor leadership can take many forms: failing to fire the jerk whose blowing smoke and slowing everyone down; applying too much, too little, or inappropriate processes; failing to apply pressure and set deliverables; applying too much pressure and setting unreasonable deliverables; poor communications; inadequate analysis; too much analysis; poor hiring practices, etc, etc, etc.
Adding contractors to the mix is not an always/never kind of deal. Contract/outsourcing (US) can solve a variety of problems. Generally it's done for a few different reasons: 1) managerial uncertainty (fear of failure), 2) missing temporary skill sets, 3) lack of strong internal development teams, 4) short term development needs greatly exceed long term needs. Of these, 2 and 4 are valid, whereas 1 and 4 are just looking for trouble. Hiring outsiders must be done to solve a SHORT TERM manpower need. This isn't to say that a manager who hires an outside company for the wrong reasons won't succeed, but it's definitely a roll of the dice.
Running an outside development project has ALL the same problems as running an inside one PLUS a few others.
The first thing to remember is that it's not a company that you're bringing in but a group of individuals who will act as a new development team on your behalf. Like any team, these people can have a range of skill levels. Many contracting companies won't be able to let you meet the developers they bring to the table before you've actually inked a deal (the big ones like AC, EY, KPMG, etc are especially bad in this respect). If you can meet the team and literally interview them before the fact, then you should. If you can't, then you have to be ready to get rid of people and ask for others at no cost to you. One of the impediments to doing this can be the project managers that such teams bring with them. Frankly, the PMs at consulting companies are probably much better than the PMs that most companies have internally. The one drawback they have is that they tend to protect the interests of the contracting company FIRST and your interests SECOND. This means that you need to be more aware of his or her individual tasks and activities than you would be of someone who works directly for you. (Manage the relationship closely).
The second thing that is critical is up front analysis. Most contracting companies want to come in and do a requirements/needs assessment first. The result of such an assessment should be a clear set of requirements and general documentation that will form the basis of your project definition. One of the problems with this is that the 100-page (mostly boilerplate) result is not the best way to help YOU understand your OWN requirements and needs. If you don't understand your OWN NEEDS, then failure is right around the corner. If you have the money and time, go ahead and let them do the assessment, but only after you have put together your own basic requirements. As your requirements are gathered make sure all the stakeholder are personally and INTIMATELY aware of the details of the requirements that are gathered. Remember that this process is garbage in garbage out. They may turn out a bunch of junk requirements if your stakeholders haven't taken the time to think through there own needs. Bringing in outsiders can give stakeholders a false sense that their needs will "automatically" be met. (Manage the relationship closely)
Assuming that you have "good requirements", whether generated internally or externally, the challenges aren't over. The nature of any sufficiently large development effort is some degree of iteractiveness. That means the developers need to be able to COMMUNICATE with a variety of people throughout your organization. Some of these people are technical, and some aren't. Either way, if communications breaks down or becomes formalized to death, you'll get something that "meets the requirements" even though the requirements are wrong. The internal/external nature of the relationship can make communications doubly difficult. Sometimes people may be knowingly or subconsciously sabotaging the effort (a developer unhappy that outsiders were brought in says "I'll just let them go ahead and fail" and sure enough they do). Communications, collaboration and intimacy are the nature of the game. (Manage the relationship closely)
The last issue is the final handoff. Products rarely meet all expectations, and most have some degree of fixing and maintenance after the fact. The final "handoff" usually involves a bunch of documentation (half to 2/3 of which is either boilerplate or wrong). Not surprisingly, this is not an ideal way to communicate. Most communication is an iterative two way process. Even face-to-face conversations frequently end with two people walking away with completely different ideas about what was said. If the team (or individual) who takes over the system doesn't adequately understand/respect what s/he's getting then you can pretty well bet that it'll get junked/gradually-rewritten-over-time. Ultimately, some period of phasing out is desirable to let the new and the old transfer adequate understanding/respect to allow the transfer to succeed. As long as you manage the relationship closely this can be done.
Those of you still unclear on the concept: manage the relationship closely.
Having said all that about US contracting, how does it all apply to overseas contracting? Generally there is only ever one reason for doing overseas contracting: money. There can be little doubt that this is a valid motive, but being cheap (and oversees contracting IS CHEAP) doesn't solve the problems of doing successful development.
Developers in other countries are just like developers here: some suck, some really suck, and some kick a??. Unfortunately, you'll not get the chance to meet to many if they live 10,000 miles away, so you'll have to pay more attention to the code and design documents. Remember: CODE IS TRUTH! Do regular code reviews, bring their milestones in house and have someone try to figure out how they work. If things are going badly, remember the principle of sunk costs and abandon-ship/demand immediate change. (Manage the relationship closely).
Foreign countries CAN mean language barriers. Make sure that individual goals and milestones are meeting your expectations. Don't let them go to far down a blind alley.
If you have the time to do these things, you have a well-defined project with well-defined goals, and you are lively and unprejudiced, then give it a shot. Unfortunately, at least one of these probably doesn't apply to you, so you should probably do it in house:)
Kevin Barnes
Sr VP of IT
OneSecure
kbarnes@onesecure.com