The US employment market is fairly vibrant with an array of talents. It is a market like no other. It's archille's heel being immigration ie when the flood gates are open, the US employment market is full of all forms of talent. When the flood gates are closed (as they have been in the last few years), its a little bit more barren.
I will not get into the benefits of offshoring, needless to say expectation must be inline with reality otherwise offshoring will be labeled a failure no matter what.
(Image taken from http://www.ogi.org.uk/images/Team-effort-to-get-the-Pont.jpg)
Returning back to offshore development and the number of challenges from the eyes of an offshore perspective, here are a couple:
- Extra hot market - new offshore development houses are sprouting everyday. And since talent isnt as plentiful as the number of companies, attrition rates are relatively high. In this environment, things can quickly go from bad to worse as the saying goes "when the going gets tough, the tough gets going" only in this case the developers get going ...to another software house! Hence the need to ensure escalations are kept within bounds. US based managers have lately picked on a couple of buzz phrases eg "we need to have all hands on deck on the weekend", "i need access to development 24/7", "we're all overworked but we got to do what we got to do". What such managers fail to realize is that this leads to a boiler room environment where top talent is stretched close to its breaking point.
- Blame game - offshoring exposes the ugly truth generally hidden away. A development process that may have been going "smooth" will go haywire with cost overruns and delays when offshored. Both parties are to blame but offshore generally gets the brunt of it as its the new element in an old recipe. A common cause is PM's being incapable of understanding the basic elements of software development. Let me qualify this, when business is done in one room, mistakes and other not-so-well-thought-out directions are quickly identified and corrected. Put offshoring in the mix and its easy to get the development team running in the wrong direction only to realize on D-day that there is a typhoon. As far as "smooth", I have yet to see a software development initiative in a fortune 500 company (all onshore) that is delivered on time and on budget. Software development is an agile business that requires constant course corrections.
- Local project managers - Projects that are managed locally or use a local liaison (as team lead etc) require someone who is
goodgreat at communication, managing expectations, pushing back customers/onshore, pushing hard local development and ensuring quality deliverable. This is a tall order for anyone. Finding such a PM offshore is extremely difficult, with most US based PM's being poor in a number of these skills.
- Quality Engineers - everyone wants a google engineer who works smart and works hard (a 120% of it ;) ).Everyone. I cannot emphasize this enough, offshore productivity is slightly lower than US productivity. And no engineer wants to work a weekend, but offshore engineers do. They are generally not paid overtime and do not have equity/stocks in the clients they work for ie ZERO incentive to work overtime.