Identify a leader
Identify a strong leader among the offshore team to act as your primary point of contact so you aren’t overseeing the work of the entire team from a distance. Identify a leader that you can communicate regularly with and make that person responsible for all updates and reports. That will be the individual who is available to be on customer calls and report development status as needed. If there is a US-based lead developer this offshore team lead will be the person who is available to that lead developer during the delivery team’s workday schedule.
Establish a communication schedule
When your team is close and communication is easy and straightforward, you can likely rely mostly on regular status meetings and status reports along with adhoc emails to ensure that everyone remains on the same page. However, when dealing with development team members on the other side of the world, more frequent communication is going to be necessary. More emails, likely more scheduled team calls and a separate status report from the offshore team lead on a weekly basis should be part of the project communication methods. And always follow-up verbal communication with written communication to ensure proper understanding and commitment on both sides.
Manage scope as if your life depended on it
Communication is always going to be an issue whether it’s across cultures, time zones, pure distance…whatever. There is always the risk that it can present some sort of roadblock. Given that, scope must be managed as though your life depended on it.
It’s a given that scope must be managed with the customer. Rarely do you think of it in terms of managing it within your own team. But when you’re dealing with offshore development in the form of a 3rd party organization or just developers working for your company who happen to be in another country, it can also be an issue for your team members.
Miscommunicated or misunderstood requirements can cause scope issues. Poor oversight of the offshore activities can strain the budget and timeline and thus create scope issues. Keep a tight rein on the project scope and schedule and communicate well and often in order to help mitigate this risk.
Test regularly
Even if the offshore development work is for internal use and not a customer project, it will be critical for the delivery team to act in the role of customer when development milestones are reached. Use an iterative development process and test regularly. Test after every development milestone to review the development activity or the functionality of the code. That way, any scope issues or requirements misunderstandings can be identified and possibly corrected long before moving toward deployment.
Conclusion
I’ve utilized offshore developers on several projects and for the most part it has been a great experience. The education level, dedication, focus and overall work ethic have been very strong. My only problems so far have been with time zones and sudden unavailability of a particular team member.
Communication is key…do that well with all of your team members – offshore and onshore – as well as your customer and your chances of project success increase greatly.