Outsourcing for the Right Reasons
Just about every company I talk to now is outsourcing to one degree or another. Yet the results are decidedly mixed. I think there are several reasons for the problems that companies are having. Often the problems stem from issues with the product development process, or from language or cultural issues, but more often than not I think the core issue stems from using outsourcing for the wrong reasons.
For most professional positions, outsourcing should not be about cost savings. It should be about assembling the right people for the product. Very often now, you have to look beyond your vicinity for the right people. This might mean hiring someone that’s based in another state, or it may mean someone in another country.
The sad truth about Silicon Valley is that it has become so expensive to live here that many of the people that you would like to hire can’t afford to live here at the salary that you can afford to pay them. Commuting only works to a degree. Eventually the talent supply runs out and you have to look elsewhere for the right team.
Fortunately, there are some terrific sources of outstanding product talent in places such as India, Eastern Europe (especially the Czech Republic, Hungary, Poland and Slovakia), Northern Europe (especially the Netherlands, Sweden and Germany), Israel, China, Singapore, Australia and New Zealand. I know some amazing people in every one of these locations. One of the best teams I ever had the privilege to lead had members spread across Sweden, Silicon Valley, Boston, and India. We were building infrastructure that needed to support more than 20 million users and it’s not at all clear we could have succeeded without the talents of the specific individuals involved.
One of my favorite companies is MySQL, which is a company that has embodied this philosophy for years. They are nominally based in Silicon Valley and Sweden, but their product team and even their executives are scattered all over the globe. They are a true virtual organization, and they are able to benefit from some of the very best database and system software talent to be found anywhere. It is not easy for them to manage a completely distributed product team, but I’d argue that they very likely would not have been able to accomplish what they have if they had picked any single location on the globe, and tried to be a typical centralized company.
Just as manufacturing jobs were forced out of the valley in the 80’s, several other types of jobs are moving out – especially customer service, QA and to a somewhat lesser extent, engineering. It’s becoming common to have the architects and the QA managers located at the company’s headquarters, along with product management and design, and then to have more of the team at locations either together or dispersed around the globe.
The key is to realize that it’s all about the team. Many managers don’t quite get this, and they are stunned to learn that there can be as much as a 20X factor in productivity among their staff in the same job class. Which company will do better? The team that has 5 very strong people chosen for their proven skills, or a team of 15 that was hired or assembled based on their availability. This productivity factor can easily dwarf perceived financial savings. Similarly, it can turn a top engineer living in very expensive Stockholm into a bargain.
Today, for the most part, I see product managers, designers, architects and managers here at headquarters working with senior management, and then communicating to other product team members that may be remote. I’m just now starting to see some organizations where they put the full product team in the remote location, including product management, design and architecture, and I see that as a trend for the future, as product managers and designers get difficult to recruit locally as well (user interface designers are already very hard to hire here in the valley).
There are additional factors that come into play, but I argue that everything begins with the right product team, and if your product team decides you need to outsource, I hope you do it for the right reasons – in order to get the right people for your product team and not because you think you’ll save a few bucks.