Mark Watson talks about the migration of software projects:
Slashdot had a discusion on a WiRED article yesterday. I read the article in my copy of WiRED magazine last night (love that magazine, every since they dumped the funky colors that made text difficult to read).
I thought that the article was a little negative about U.S. programmers, but very interesting none-the-less. I especially enjoyed the last part where a married couple in India were talking about how the "bubble" would burst in India also, as work would migrate to countries like China with even lower cost of living. They seemed to accept that this was their good time, but cycles would occur.
There are a couple of problems I see with this. First off, there are language, culture, and timezone barriers. Offshoring imposes a communications barrier. You can ameliorate that, but not completely. This isn't like sending a shoe factory overseas. Once you set up a factory - it runs - and there's not a lot of input back from corporate on the running of the plant. Software isn't like that. Heck, we went through a whole transition from the "glass house" model of development to more agile methods over the last twenty years (not universally). The reason? For the most part, we learned that tossing requirements over the wall, and getting a product back N months later just didn't work that well. Here's a question:
If it didn't work out with people one building over, what makes anyone think it will work 12 time zones over?
There's another problem as well - language. In India, English is fairly widely known - which means that one can discuss requirements with remote staff, even with the time zone issues. What if that staff doesn't speak English? How easily are you going to be able to discuss requirements with staff that you can't communicate with? This is the floater in the pool that no one is thinking about. Sure, offshoring costs less. And if your IT group stinks at communication, you'll likely get results from an offshore group that are no different. On the other hand, what if you hired staff that actually had communication skills? What if you had staff that paid attention to end user requirements, and made good faith efforts to respond to them?
The only thing that's certain is that the heyday of $100 an hour consulting gigs for average developers is over. There's still going to be plenty of development work for local IT staff though - if they exploit the advantages of their locality. If they act as remote as the offshore folks are, then they'll be replaced. It's as simple as that