You are working on the next big thing. You are running the lean startup. You are bootstrapping and trying to save every penny and you don’t want to waste your money on unnecessary things. But if your product is being built by an offshore you have to fly and meet your development team.
So, why you must visit your offshore team? When visiting your team, you have a chance to explain your grand vision, get to know team members on an individual level, see how they interact with each other, hear their concerns, learn about local culture, and maybe return home with some new ideas.
Explain Grand Vision
When you are working with your team in your office you constantly have a chance to discuss a big picture, the reason why everyone’s contribution is important in the grand scheme. Things are different when some of your team members are remote.
When visiting the offshore team, you have to start with sharing your vision especially if the vision evolved or new members have joined the team. Even if you had a chance to share the vision before it is important to keep talking about it. This is also your chance to communicate priorities and larger business foals.
Know team members on individual level
In the year 2000, I was interviewed by a big software company for engineering role. After passing a round of phone interviews they invited me for a face to face interview in Moscow.
When you talk to someone on the phone you always trying to imagine how this person looks like. For some reason, I thought that I was talking to a petite blonde woman. Imagine my surprise when I saw a tall brunette when we met in person.
Nowadays we have a lot of video conference tools and you can see everyone’s face on the computer. But believe me, people may still surprise you in real life. For instance, it is hard to say how tall the person is if you only saw him or her sitting at the desk.
However, there is something more important than appearance. During business meetings, people tend to be serious and hide their true personality. When working side by side for several hours or better having lunch or dinner together you can learn each individual as a person.
Remember though they are watching you too and trying to understand who you as a person so little self-awareness wouldn’t hurt.
See how they interact with each other
One of the secrets of the proper software development team management is to know how people work together as a team. When the task is too big for one person to handle, I like to pair developers based on their skills.
For instance, if a task requires database changes and UI work, I pair UI and database engineers. If the work requires several people with similar tasks, I like to pair those who I know like working with each other.
A pair of good engineers who like working together can produce 3-4 times more code than both separately. And the only way to uncover interpersonal dynamics is seeing them interacting in real life.
It is possible that you have a team in one city but there is no office and everyone or some engineers are working remotely. During my offshore visit, I saw how two remote developers who didn’t meet before becoming pals. Now I know more people ready for pair programming.
Hear their concerns
Wouldn’t it be wonderful if people share their concerns when you directly ask them? Unfortunately, it doesn’t always happen. Chances are your team will try to make you feel better by keeping their concerns to themselves, but since you are on the ground you can listen and look for the cues that are missing during video calls. Did Peter look worried when I asked about the deadline? I wonder why…
Learn about local culture
People from different cultures have different mentalities. Understanding what drives them will help you to know how to motivate your team. In the USA we have a mix of different cultures and generally we are pretty tolerant of other nations.
Unfortunately, mostly for historical reasons some nations do not like people from some other nations, mostly their neighbors. For instance, I know there is currently a strong tension between Russian and Ukrainians. If you have a global team from different countries it pays to know such things.
Return home with new ideas
Collaboration is always better when people work side by side. I run daily standup meetings and they are usually very short. I mostly document feature requirements thru Target Process – Agile planning tool.
When on site, I have a chance to have more one on one time with each developer. During one on one meetings, they feel more relaxed and eager to suggest new ideas which they normally tend to keep to themselves. If you are ready to listen, you may learn something new every day.
You may also find new business opportunities during your trip. After my boss came back from one of his regular visits, he opened a call center in addition to the software development team in the Philippines.
When to visit
If you have only one chance to visit your team it’s best to do it at the beginning of the project.
After that, you may want to fly every 3-4 months if possible or at least once a year. Flight fares may vary widely during the year, so you can always find a time when fares are most affordable. You have to know the list of local holidays, so you can avoid flying when there is no one in the office.
Fly team to your office
If you can afford it, consider bringing the offshore team to your location. The biggest advantage of this approach is to let your developers communicate with other members of your company – sales, customer service, etc. They can experience firsthand what the business is about.
Especially it makes sense if your developers are spread across the globe and not located in the same county.
Is saving money the only reason to hire an offshore team?
It is a well-known fact that most companies start looking to move software development to offshore in order to save money. Salaries of developers are the huge chunk of any company expenses.
However, increasingly companies exploring offshore options simply because they can’t find good developers locally. If you don’t believe try to hire a good developer in your area.
When I was looking for a job a couple years ago, I received a call from the recruiter. He told me about the position, and it was not bad. They offered a market salary and the commute was just 7 minutes. At that time, I was driving 60-90 minutes one way almost every day.
I rejected the offer for reasons other than financial, but I told the recruiter that I want $20K more to make him disappear. To my surprise, he called me back 3 months later and offered the salary I demanded. When I asked him why the company changed the salary ceiling, he answered that they couldn’t find a good developer even for a market salary.
Offshore vs Onshore vs Outsourcing vs Nearshore
There are many ways to build a team that works on your product. Depending on how your product is built and where the team is located different terms are used to describe the development teams.
Outsourcing refers to a way of using a third party to build an entire product or part of it. The location of the development company is not important — it can be local or located in another country. Depending on where the outsourcing is located, we may refer to it as offshore, onshore or nearshore.
Onshore is a team of developers located in your country. The advantage of onshore development is that the development team speaks the same language and has the same mentality as you do.
Offshore companies are located pretty far from the client, often in another continent. The example would be the US company hiring a team in the Philippines. The advantage is usually financial.
Nearshore companies reside in a neighboring country within the same region or the same time zone. The example would be the US company hiring a team in Mexico. The advantage is that teams can work the same work hours.
Images used: Murakami, U-ichiro. “on the Sea of Japan”. Dec 25, 2011. Online image. Flickr. Feb 18, 2019. https://www.flickr.com/photos/ccfarmer/11183883935/