Managing Remote Offshore Software Development Teams


Managing Remote Offshore Software Development Teams

Working with remote teams seems like a daunting task, but really can be as efficient as managing an in house team. The thought of working with a team that spans an ocean and a continent can feel overwhelming. If managed correctly, this type of remote team model can be very beneficial to your business. The benefits of extended productivity, larger talent pools, and increased profits can easily be obtained when managed correctly. It is very inspiring to have different cultures injected into actively developed projects. They will provide a unique addition and perspective to your existing team. Like any team, there will always be pros and cons. I have found with a proven process and plan, the pros greatly outweigh the cons.

Overseas Resources Are People Too

Building a rapport is a must with all team members.

How do you typically come to work and interact with your team? I typically greet everyone with a simple hello and ask how their day is going. I find that determining the mood of your team will help determine how productive they will be that day. The same principle goes for an overseas team. Every time we have a daily scrum call to discuss the current blockers, tasks, scope changes, and general questions, I ask how they are doing. Typically, I gain insight into their overall mood and can react accordingly. Morale greatly improves when all team members feel their individual contributions are valuable to the greater good of the team. Communication is one of the most vital parts of high producing teams. Quite simply, happy people communicate more effectively in their teams.

Integrate Cultures Into Work

Understanding uniqueness and similarities in coworkers culture helps with communication.

When communicating with an overseas resource, it is important to share with one another your cultures. This can be as easy as describing a certain upcoming holiday. I find that an interesting conversation about a particular holiday is helpful in understanding the teammate I am working with. The more comfortable you get, the more you begin to share with one another. Overtime, you begin to see the many similarities you have. This will become a building block for your relationship and will remove any barriers that exist in the working relationship. There will be many differences in cultures. At first, this is foreign and will hurt communication. Educating one another will tear down these obvious barriers. The more you begin to understand one another, the better the communication becomes. I personally enjoy describing details or stories with colorful analogies. Anything I learn about their culture, I always blend into our communications.

Willingness To Work During Their Working Hours

Buy one clock for each time zone your remote teams represent.

To maximize the productivity of your remote teams, settle on a time that works well for them. I pick two times at the beginning and end of my day and time box them specifically for meetings. I always send them a google calendar invite and specify the exact time zone they are in. I always have a clock set for their time. This can be configured on all the tools you use including, email clients, chat services, phone calls, calendar services, and virtual meeting invites. They will appreciate that you are flexible and willing to work during their peak hours. Velocity of development improves when they do not have to stay awake all hours of the night to accommodate your working hours. There will be times that coverage is needed during their non working hours. Scheduling and communicating these occurrences will be greatly appreciated in their working and personal lives. You would never request someone in house to work weekends, nights, or overtime without notice. Remember the first rule, Overseas resources are people too. The time difference will become second nature when schedules and hours are communicated clearly.

Personalize The Documentation Clearly

Always organize all documentation as verbose as possible. Leave out all previously undefined idioms.

Hit the hay, sit tight, on the ball, under the weather, and cut to the chase, are all phrases commonly known to English speaking people. If you have never heard these phrases, you will probably take them very literal. Each meeting I always teach the overseas team member a phrase like this. I define the meaning and give them examples of use. You will find their library of phrases will improve and they will even begin to use them correctly. It is important to define a baseline communication pattern and document all work related tasks in this established format. Over time, you will begin to teach one another how to effectively communicate technical documentation. Testing notes, emails, chats, spoken language, and scope documentation all improve as you learn the spoken and written language of the other. Make sure to make all communication as personalized as possible.

Establish A Pattern Of Check-In Times

Daily, Weekly, and Monthly, routines are appreciated by overseas teams.

You will notice right from the beginning that overseas teams are eager to communicate and would like questions answered quickly. Server credentials, admin logins, user experience funnels, and user interface design details are all critical to their jobs. Setting up these check in times with itemized agendas will help everyone involved be prepared. Establishing agendas and what is needed in advance of these meetings will greatly lessen the duration of time in which you will meet. I find using a chat service is easier than an actual call. Everyone involved can easily read and translate the documentation at a slower pace. It is important for everyone to document formally the outcomes of the meetings. Some of these meetings are working meetings and long gaps of communication are likely. Communicating the intervals when you expect next correspondence improves efficiency. Always be on time for every meeting and check in time. This sounds obvious, but being late has more severe consequences due to the time differences. Being on time shows respect and value for your teammates time.

Honest Open Communication About Good And Bad News

Good news is terrific but bad news is vital to pivot and make important business decisions.

Majority of the time you and the overseas team are working hours apart. Sunday night for you might be Monday night for them. The good news should be celebrated and praised as a team, but the bad news should be communicated immediately. When business opens the next day clients expect functional websites. A vital showstopper when the overseas team is asleep and unresponsive, will make clients extremely unhappy. Always have a deployment strategy and a rollback plan in case of an emergency. Allow enough time to test any deployments and fix critical issues on the spot. Now is a good time to use the equity from above: Willingness To Work During Their Working Hours to your advantage. Simply schedule any live deployment around the best window for the in house team to be responsive and alert. This is a fair compromise and both teams will be happier and much more in sync. I have found the team abroad has no reservations and appreciates the thorough plan of execution.

Around The Clock Productivity

Combine in house efforts with offshore development for maximum productivity.

Long term projects fit beautifully into this type of workflow. The in house team will provide the coverage during normal business hours. The offshore team will provide an additional shift of coverage after hours. Setting up version control software and a workflow to manage this is crucial. I have found that having one team responsible for code reviews, and another team responsible for pulling the latest version of develop branch daily, is a great strategy. This will ensure that both teams are working off the latest and greatest source code. This is all contingent of course on the type of development work being completed. You will see development velocity increase, and both teams will enjoy learning techniques from one another. If done correctly, you should arrive at work with a batch of completed work ready for testing. Testing and reporting if work has passed or failed will be completed quicker. Maintenance projects can also follow a similar workflow. If you have a service level agreement greater than twenty four hours, meeting that agreement is obtainable. Daily prioritization of bugs should be communicated in some sort of project management software. I use Jira, and a kanban board for this type of work. Arrange the board so the team can understand what is the highest priority for that work day. You should be able to test and report bug fixes to clients daily. If an urgent showstopper becomes visible during working hours, you should have an in house contingent plan in place.

Security And Vetting Of All OffShore Teams

Having a system of accountability and security in place is non negotiable.

A system we use frequently is the whitelisting of IP addresses for each overseas team member. This will help us trace any accesses to databases, servers, admins, and logs directly back to the the correct resource. In some cases, we will also use 2FA as another layer of security. The same in house versioning control should be configured for the team abroad. I have found it best to start with small scopes of work and gradually increase the workload as the resource proves to be capable. Give access to the staging site first and slowly give them live site access. Another true and tried practice is code reviews. Having an internal senior member spend a few hours reviewing completed code, will ensure best practices and company policies are being followed. Implementing and communicating company policy should remain constant even for the overseas team. For example, we have a no deployment on Friday’s company policy. This same policy applies for the overseas team and is calculated to their correct time zone. Working with the company CTO/CIO/CSO will ensure you have all the correct security measures in place.

ENDERTECH

Visit endertechnology.com to learn more!

Interact with Us! → Instagram | FacebookTwitter


Source: Medium:Remote Working
Managing Remote Offshore Software Development Teams

Leave Your Comment