A headline reads “We gave all of our most boring and tedious work to people we never met, and here is what happened next”. Let me guess: a total failure?
Recently there have been a few rather nasty articles deriding offshore development teams. As an entrepreneur in Silicon Valley I want to set the record straight: Every successful start-up I have been involved with learned how to successfully leverage offshore teams, and several of these companies would not have made it otherwise. Some of the most talented, hard-working engineers I have ever had the privilege of working with were based in India, China, and Russia. Although there are rare exceptions where the model does not make sense, if your software company is struggling to make the model work, in all likelihood the problem is you. If your company cannot leverage offshore teams, your company cannot hire the best people in the world wherever they might be. In other words, you have a serious competitive disadvantage.
The reason that many are quick to dismiss offshore development is simple: Creating distributed teams that are productive together is not easy. To help understand why, I reached out to several colleagues who have been very successful building teams in Russia, China, and India, to get their perspective:
“When outsourcing begins, there can issues of confidence and trust” says Rajiv Sinha, VP Engineering, Citrix Systems. Rajiv says that developing mutual respect between development teams is essential. “You have to get someone with a face-to-face presence whose sole function is to represent the remote team. For the people in the home office, this person is the remote team.”
Avinash Agrawal, Principal Consultant (formerly VP of Engineering at Guavus, Gale Technologies) says “total two-way transparency and relentless communication” are the key to creating clear responsibility and accountability between teams. “Offshore teams often suffer from ‘remote site syndrome’, and feel excluded from information and the decision making hierarchy”.
Leaders must “endeavor to create opportunities where offshore and onshore teams get to work closely together”, says Vipin Sharma, Head of India Engineering for a stealth mode Silicon Valley big data start-up. “Regular technical summits and workshops where key team members travel to each others sites can go a long way to boost ‘one team’ spirit and overall efficiency”.
I had the benefit of working with the teams these leaders created, so I know first hand that their advice is sage. To their list, I will add this observation from years of experience: Many companies begin by trying to create a sustaining engineering model, where the offshore team is primarily responsible for bug-fixing and other maintenance. Don’t do it. You cannot hire the best engineers in the United States and relegate them to sustaining engineering, and you should not expect that people are different anywhere else. Talented engineers need hard problems to solve. Give your remote teams ownership, authority, responsibility, and accountability, and you will see results. Perception issues and blame games do arise from time to time, you have to get ahead of those immediately by facilitating communication, and cultivating mutual respect between your teams.
None of this is to say that there are not problems in every offshore jurisdiction. Finding office space in hotspots like Bangalore and New Delhi can be a nightmare. In India there are many cases where people still do not show up on their first day of work after accepting an offer. Competition in tech hotspots means that employees sometimes try to float ridiculous 75% or more pay increases. Language barriers frequently show up in source code. The power goes out frequently, sometimes 2-3 times a day every day. Different countries have a confusing myriad of employment law, intellectual property law, licenses, taxes, and permits. This is all just part of the process of doing business in any foreign country.
Let’s distill this into some clear guidance for creating offshore development teams:
- Representation needs to be formal. The remote team needs a dedicated representative at the home office. Instead of kicking an email over the wall while the remote team is sleeping, this person is always available for face-to-face communication, and up to date on all development status. A senior engineering manager or product management person is ideal, it needs to be someone with incredible communication talent, patience, and persistence.
- Daily communication is key. Teams should be in daily contact at the leadership level, preferably twice every day. It feels ridiculous having to say this in 2015, but get video conferencing running. GoToMeeting is great, and Fuze is wonderful. There are no excuses for not videoconferencing in this day and age. Seeing people, their body language, their expressions, keeps you on the level of human beings instead of keystrokes. Of course, it should go without saying that you should also have a chat system like Slack, where engineers and product teams can communicate instantly ad-hoc. Bug tracking and other collaboration tools like a wiki need to be open, accessible, and performant. Put those babies in EC2 or Digital Ocean with high bandwidth and unfettered access.
- Frequent travel is mandatory. Your team is on the other side of the world, not on another planet. As a leader, you need to get yourself there to meet, plan, and share your vision, strategy, customer success, and customer failure. If has been more than 100 days since your last visit, you are very, very late. There is no substitute for frequent face to face interaction, because too much is lost in written communication, and there is frequently a language barrier to overcome.
- Empowering offshore teams is essential. This is so important that it bears repeating: Hire brilliant people and give them hardest work you have to do. You need great leadership on the ground to hire the best people, so begin your offshore team by finding that leader, and giving them complete authority to make hiring decisions. Set the tone with the rest of the company that you are finding and hiring the best people in the world, and share their successes with everyone.