Economic globalization and remote work have an undeniable impact on the software development process. Project managers who lead software development projects are likely to find themselves managing project teams with members scattered around the globe. To deliver successfully, we need to work effectively with geographically distributed teams, a.k.a. global or multi-shore teams.
Working with global teams presents many challenges, including time zone differences, working hours, language and cultural differences, and holidays. These best practices can improve the chances of success of a project that employs a global team.
Choosing a Global Software Development Partner to Accelerate Your Digital Strategy
To be successful and outpace the competition, you need a software development partner that excels in exactly the type of digital projects you are now faced with accelerating, and in the most cost effective and optimized way possible.
Staffing a project appropriately is critical to its success and can help avoid a lot of unnecessary stress.
- Staff a lead developer role in same time zone as the team – On larger projects, having both an architect and dev lead is ideal. If most of the team is in India, relying on a U.S. based architect to lead the team, without a dedicated lead developer, puts too much pressure on the architect to answer the team’s questions during the short time their workdays overlap. Adjust the lead’s capacity down to give them time to support the team.
- Manage time zone differences – Avoid staffing a project with a U.S. West Coast based lead developer and an India-based team. Their normal working hours may not overlap at all, which could lead to the offshore developers being unsupported and losing a day of work. A Europe-based lead developer will be geographically closer and better able to support a development team in India.
- Staff a Business Analyst role – Large projects should include a full-time, dedicated business analyst. A BA’s job is to ensure that requirements are clear and defined in advance. This is critical when questions arise about requirements, which will certainly happen, especially for team members whose first language may not be English.
- Match skillset to requirements – Ensure that the skill level of the team matches the needs of the project. Confirm the experience and skill set of team members who are working remotely. Review the project’s scope and requirements, and be vigilant about scope changes that may require expertise that the assigned team members don’t have.
Clear, transparent communication helps build trust among the team and promotes positive working relationships. This leads to a more enjoyable working experience and increases the chances of completing a project successfully.
- Feedback – Provide constructive and timely feedback.
- Answer questions quickly – To minimize confusion, clarify changes in requirements as soon as they arise. If team members in a faraway time zone have unanswered questions, they may be blocked from making progress for an entire workday, or make mistakes that result in rework.
- Agree on shared communication channels – Agree on common communication channels to ensure consistent communication across all team members (onshore and offshore). A lot can happen in a day. Make sure all team members are kept in the loop on project happenings. Teams, Ryver and Slack are some examples popular communication collaboration or messaging apps that allow software development to transcend time zones.
- Know how to get help – Be aware of what avenues are available for help. For example, some customers have a toll-free help desk phone number that cannot be accessed from outside the U.S. In this case, the team may need to communicate with the help desk via email, or enlist the help of a U.S. colleague to get their issue resolved.
Working hours and culture
For a happier team, acknowledge the impact of time differences and respect cultural variations on the project team.
- Working hours – Respect offshore working hours. Some team members may work shifted hours, but don’t assume this. This may limit the times that are available for all-team meetings. Some countries observe the weekend on Friday and Saturday. Account for these differences when assigning work and scheduling meetings.
- Scheduling meetings – If client needs dictate meeting days and times when some team members are not available, record the meetings for playback later.
- Daylight Savings Time – Some countries, for example India, do not observe Daylight Savings Time. Meetings that were scheduled for a time during the India Standard Time workday may be too late in the day when U.S. clocks are set back in the fall.
- Holidays – Team members in different countries celebrate different holidays than in the U.S. Show an interest in the holidays of all your team members, and make an effort to understand each other’s cultures. When national holidays come up, it can be fun to talk about their meaning, or what special traditions or foods are common to that holiday.
Establishing solid working practices at the start of the project can reduce confusion and ensure that team members working in different parts of the globe are aligned.
- Working processes – Together with the team, create a working agreement, development processes, and task workflow before starting development work. Record these where the entire team has easy access. As the project goes forward, these may evolve, but a baseline should be created at project initiation.
- Minimize process changes – As with requirements, process changes can be confusing and risk blocking the offshore team. Try to think through scenarios, and avoid changing any more than necessary
- Set goals – Work with the team to set clear and achievable goals, both daily goals and sprint goals. Communicate frequently about the goals and work to remove blockers promptly.
- Conduct sprint retrospectives – Holding a sprint retrospective at the end of each sprint provides a safe space where the combined onshore and offshore team can discuss any significant issue they encounter, reconcile and resolve it.
- Escalate in writing – If escalation is needed for offshore team members, do so early and in writing.
- Single point of contact – To streamline communication and issue resolution, designate one person in your organization to act as a single point of contact for escalations related to multi-shore teams.