When developing nations that are primarily known for their cheap products start creating competitive high quality products what happens is that they start charging just as much as every other developed nation. That same dynamic plays out with Indian software developers.
If they can deliver X amount of value they can also charge X for their service. This means if you hire an Indian for $10 an hour you're going to get value equivalent to $10.
Since productivity per member drops as you increase team size you can't just hire a bigger team to get yourself out of this problem. The true number of developers that your project needs is probably constant and quite low.
If you hire cheaper but less experienced developers then it might simply take 6 times longer to finish the project than if you had hired an Indian developer that charges $60 per hour. This is usually where the project fails. Managers expect the project to be done in 6 months but this estimate is based on competent developers with 3 years of experience, not beginners who are working on their first project and first need to gather 3 years of experience to adequately finish the project.
Really the only way you can get a real bargain is by hiring someone, letting them gain experience without giving them a raise. The difference between market rate and actual developer salary is where you save the most money. The tricky part is creating a environment in which people want to stay.
India has quite a way to go to break that boundary. The IT industry in India is basically a giant demonstration of the Dead Sea effect. The most talented engineers from India have been leaving the country in droves for decades. The local industry has a deservedly terrible reputation, which motivates more local talent to leave, further degrading the local labor market, which further incentivises people to leave...
I think the most promising signs for the local industry is that it’s starting to produce some rather successful home grown startups. Which are much more likely to attract local talent than the outsourcing body shops are.
If they can deliver X amount of value they can also charge X for their service. This means if you hire an Indian for $10 an hour you're going to get value equivalent to $10.
Since productivity per member drops as you increase team size you can't just hire a bigger team to get yourself out of this problem. The true number of developers that your project needs is probably constant and quite low.
If you hire cheaper but less experienced developers then it might simply take 6 times longer to finish the project than if you had hired an Indian developer that charges $60 per hour. This is usually where the project fails. Managers expect the project to be done in 6 months but this estimate is based on competent developers with 3 years of experience, not beginners who are working on their first project and first need to gather 3 years of experience to adequately finish the project.
Really the only way you can get a real bargain is by hiring someone, letting them gain experience without giving them a raise. The difference between market rate and actual developer salary is where you save the most money. The tricky part is creating a environment in which people want to stay.