Thursday, September 17, 2009

Mythical Cheap Labor - Managing Remote Complex Software

  1. As a background, EE Times Mark LePedulus published an editorial "US engineers at a disadvantage" and Harry Gries recently posed questions and discussions about the topic of globalization of engineering and the impact on US engineers. So I wrote this blog post in reply to Harry to share my experience and advise to anyone in the position of being asked to globalize a complex software engineering project.

    Any large company like IBM, HP, Intel, Google must develop a global competency as it is the next stage of economic development and is the new competitive playing field. Smaller companies have more of a choice to make and have more risk involved, and in the short term there are ample US engineers available. Some companies like TI have a very large international team and have built to a successful organization. Others like Intel have had mixed success in India, yet great contributions in Israel. Google is developing Wave in Australia.

    For any new, breaking, time critical innovation it was always better to base in Silicon Valley as the physical presence at HQ and the experience level just moves at light speed. So, US based, Silicon Valley engineers have a huge advantage, and it’s not going away. Perhaps you need to move into a new domain, but there will be plenty of opportunities for valley engineering talent.

    In my role managing a complex, algorithmic software project I had a mixed experience along the lines of “Mythical Man Month”. On the positive side there is good talent, though young and inexperienced, after some training support and management care they can contribute meaningfully on core projects, on the negative side the high turnover rate reduced the efficiency.

    As with any resource be clear about the trade-offs. First off, what is your goal ? Is it ‘cost savings”, or “global talent pool”, “customer/market proximity”.

    For a “cost savings” goal, it’s a myth. In my experience there is not really an advantage, definitely not over the short term. Initially you will be training and putting an overhead on your US based team so you go deeply into the red for at least the first 2 years. Secondly be keenly aware that the cost differentials will narrow over time, the salary budget as a % increase will need to be larger to keep up with a higher salary inflation rate, also make sure this is agreed to by your management ahead of time.

    For “global talent pool”, it is a more realistic and strategic goal. The US is graduating a small percentage of the world engineer’s and with increasing limits on immigration the only way to access the larger pool is with remote sites. Tapping into this talent pool is an important fact for any larger firm as there are just not enough US engineers in boom times to fill out the ranks.

    For “customer proximity”, at least in Bangalore, there is a trend of many design companies basing teams there and then co-location with customer and AE’s helps support effective collaboration especially given the time differences. Not to mention the key Universities like IIT who are pumping out fresh engineers who you will want to hire. So for customer and/or market / government and university proximity it becomes a strategic differentiator. Quickly the same will be true in China.

    On the negative side the turnover rate in both India and China was much higher than US, and with the overhead that it puts on the US it may not yield an overall positive ROI. In complex software it takes at least 12 months to get productive and the most valuable talent has 2-3 years under their belt. If you invest and then you lose the engineer in the next 1-2 years then it’s not worth your while and you are only training engineers for your competition and exposing your IP. Your competition knows this and will eagerly setup shop next door and raid your talent.

    Also don’t fall for the myth that you can offload bug fixes and support as these cultures are ‘fad’ trendy and always want to work on the latest hot thing,( read “Crossing the Chasm”), so if you setup an overseas group this way you won’t get any quality or team stability.

    Leadership is a key aspect. Work to find a US based leader in your group, who has the cultural background, will travel several times a year and is motivated and excited about the challenge and opportunity, and has the relationships with their peer leaders in US so that trust and communication stays open. And be prepared to back them up with your ‘virtual’ presence at least quarterly, and physical presence at least annually.

    When considering a geography consider the cultural attributes and how to leverage them. India is an innovation and risk taking culture, so they will thrive with new ground breaking projects and won’t be bothering with pesky business feasibility questions. They are key assets for early prototyping yet may not have the architecture and quality emphasis. China has a strong culture of quality and you can hire engineers to perform SQA which you cannot find talent or interest for in the US.

No comments: