Subscribe to SQM and join the other 100,000 monthly readers

Always have the most current updates on software, Agile, mobile development, testing and more right at your fingertips.

Subscribe by email:

Your email:

Search

Current Articles | RSS Feed RSS Feed

5 Keys to Maintaining a Successful Offshore Development Team

 

offshore development teams

A lot of organizations today use offshore partners to complement their U.S.-based development teams. There are many different reasons for using these offshore teams, such as:

  1. Scarcity of skilled talents in your area
  2. The lower cost of offshore teams
  3. The ability to increase and decrease capacity quickly

The offshore team could be dedicated to sustain engineering (fixing defects in release products), they could be the QA arm of the development team, or they could be fully integrated with the internal development team, working on the same projects.

As many in the software industry know from experience, the success of such offshore team varies greatly. Often, horror stories are told among developers about having to completely re-do the work an offshore team does.

Well, it doesn’t have to be that way! Here at SmartBear-Austin, we have successfully used an offshore team to add to our development talent and recently have expanded our offshore team to include QA functions as well. With this post, I want to share a few of the key aspects that have lead to our success in these relationships. Perhaps you can benefit from them as well.

As just about everyone you talk to about offshoring development or QA work will tell you, communication is key. So how do you foster a culture between the onshore and offshore teams where that critical communication is taking place? Here are the steps that we have taken to ensure good communication:

1. Start during the hiring process.

Make sure you have control over who will become members of your offshore team. Conduct a technical interview of the offshore developer to not only assess his or her technical talent, but also the ability to communicate verbally. We've done this using Skype and Google Hangouts, both of which work well.

2. Chat and ask questions

Implement an IRC channel where there is constant conversation among team members. Once the offshore team member joins the group, encourage them to ask questions and interact in the IRC with the rest of the development team. Having the team in a time zone similar to your onshore team helps in this case. For instance, our offshore team members are based in Costa Rica.

3. Meet face-to-face

After the team member has gone through initial training, bring him or her to the U.S.-based office for a week so that personal relationships can be established, which will make subsequent conversations in IRC and any other channel a lot more productive.

4. Keep them involved

Involve the offshore team in your daily stand ups if you are using scrum. And especially for stand up, equip the offshore team members with a webcam; nothing beats a face-to-face conversation.

5. Implement peer review

Do peer review of all code, documents and other artifacts. This is a critical piece – and not just because we sell a tool to do so, but because it really makes a difference. In our experience, by using peer review, our offshore developers are able to get up to speed very quickly and to understand the code base since all their work is reviewed by our senior developers in Austin. The offshore team also gets to review our Austin developers’ work to further accelerate their learning. These reviews enable extensive conversations to take place on the work being done so that not only is knowledge being effectively transferred; they ensure that the work being done is correct. These conversations take place asynchronously so that they are not intrusive on the individual’s time, yet they are happening on a daily, sometimes hourly basis, so we never get a completed user story that is totally off the mark.

 

I hope that if you have an offshore team that has struggled to reach its potential, perhaps some of these steps can help you achieve greater success.

Let us know what your challenges are and how you have solved them with your offshore teams.

/James 

See also:

Comments

Unfortunately, in most situations, step #1 in the list above is not an option. 
 
Project managers are mostly assigned a remote team - they don't get to choose it.
Posted @ Tuesday, January 22, 2013 2:03 PM by PM Hut
Certainly that is true in some situations, but in my experience, most people don't ask for it. So my recommendation is that if you can determine members of your team, do it, if not, use the other steps outlined to make them better and more effective. You will still reap the benefits of better communication among your team members.
Posted @ Tuesday, January 22, 2013 2:50 PM by James Wang
I'm a software engineer and if somebody put me on IRC that would be a problem for me.. I should not be distracted. I don't do my job by chatting, I do by researching and thinking. I don't ask questions that there's an answer in the books or on the internet so I only ask functional requirements and I expect everybody to do so. I recommend fixing meeting dates weekly and talk out whatever you have so the rest of the week will be not distracting. You can always reach out to people by email or phone on emergencies of course.
Posted @ Wednesday, January 23, 2013 6:44 AM by Ata Sasmaz
Thank you for this article, it is exactly what people must do to well offshore developement. 
Good resume, simple and objective
Posted @ Wednesday, January 23, 2013 8:13 AM by Younss
Face to Face interview is more important as it gives a chance to recruiter to ask the questions and answers directly, also you can add here written tests while undertaking interview, Tests are the best forms of evaluation processes though they are time consuming but they can serve as the best means of recruiting perfect candidate for the team
Posted @ Friday, January 25, 2013 5:36 AM by Web Development Services in India
A small team of very highly skilled offshore developers will be more effective than a larger team of average developers. The offshore team should be split into multiple teams.
Posted @ Tuesday, February 26, 2013 3:12 AM by Oleg Waters
The critical element of success is to establish a strong open communication between the on and offshore teams.
Posted @ Friday, March 22, 2013 1:03 AM by George Mcfarland
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics