Nowadays a lot of software development teams are globally located which means that project managers have to learn to work with people who live in different countries and cities. Each country tends to have its own work calendars and holidays, cities can be located in different time zones and all this means a lot of challenges when it comes to coordinating a team.
Some time slots intersect and these slots can be devoted to tasks which require full-time interaction – solving urgent problems, creative tasks, group decisions etc. The time periods that don’t intersect can be used for handling tasks that do not require real time communication. An inability or unwillingness to take these time differences into account can lead to negative effects if for example a team member, whose input is vital, has ended his work day or hasn’t begun it yet.
Let’s look at the approaches and tools that can help a distributed team successfully perform its tasks taking into account their various time zones.
Time GMT / UTC
According to Wikipedia, Greenwich Mean Time is the mean solar time at the Royal Observatory in Greenwich, London. Coordinated Universal Time (UTC) has replaced GMT as an international standard, but for most purposes they are equivalent. For example, in New York 10 AM is (UTC-4 hours), meaning 5 PM in Moscow (UTC + 3 hours) and 9 PM in Ho Chi Minh City (UTC + 7 hours). Knowing your local time and using the UTC, can help you quickly calculate the local time of any of your team members. It is also helpful when planning their working day and managing priorities.
On the Internet there are multiple tools to quickly find information about the local time and UTC offset for the selected cities and countries. The most used time zone converter is http://www.timeanddate.com/worldclock/converter.html
. There are also two more websites which are useful: www.worldtimezone.com
Adjusting individual work schedules
If required, the working time of each employee can change compared to the standard of each country so as to create the necessary intersection of time slots for an effective team. The size of these slots can vary from project to project and is determined primarily by how much staff are dependent on each other, and hence how often they should operate simultaneously. For example, a team at 37signals accepted a standard time slot intersection of 4 hours. Therefore, the company's employees work in Copenhagen from 11 am to 7 pm (local time), and in Chicago from 8 am to 5 pm.
The information about the schedule of each of the team members reflects the corporate calendar and is published in the project wiki. This table might look like this:
It should be noted that a change in an individual employee's work schedule can lead to dissatisfaction if the new schedule creates additional inconvenience. For example, he has to get up very early or get off from work very late, or the new schedule includes the least productive time for a particular person – all this can create additional errors in their work. The problem may not even be the schedule itself but the employee’s feeling that the work schedules of his colleagues are more comfortable. One solution to this situation – a periodic rotation of the schedules, so as to create equal working conditions. Another solution – rotation of the time slots of regular meeting (ex: sprint planning, daily meeting, retrospective).
The opportunity to work on their own individual schedule is often noted as a significant plus when working in virtual teams. This gives greater freedom in choosing the most productive time slots. Some people achieve their highest performance very early in the day or very late in the day. Accordingly, they can shift their schedule to pick the best time for them (taking into account the needs of the group). This strategy if very efficient and it also allows you to synchronize with very distant time zones, which would otherwise be very difficult or impossible.
Teams located in the same office space have to handle a lot of distractions especially when it comes to interacting with people from the same project or other projects. This lack of interaction in virtual teams is for many an opportunity to focus solely on the task at hand and enter a state of flux.
Balancing synchronous and asynchronous tasks
If the project is complex due to the need for frequent synchronization and a strong dependence on the tasks you can make it more asynchronous by breaking the project into tasks so that each person has an individual portion of the work. In this case, each developer may be responsible for his own component interacting with others through a pre-approved interface.
It should be noted that a high level of asynchronous work can create additional difficulties, such as:
- Reducing team cohesion due to a low level of interaction between its members
Very limited use of practices that require simultaneous collaboration. Pair programming for example
The collective ownership of the source code
A lot of challenges when it comes to integrating individual components into a single system due to the inability or unwillingness to carry out the integration of the code often enough
An overly complex design, which leads to an increase in the size of the code. The design could be much easier if team members communicated with each other more often
Therefore you mustn’t only focus on asynchronous tasks. You have to try and reach a balance. You can use the daily meeting for creating synchronization. It promotes constant communication in the team, creates a common understanding of the current state of affairs and allows everyone to plan their working day based on them. The daily meeting is best done in the morning or when it is morning for the majority of team members.
Scheduling tasks and meetings
Working in different time zones requires careful planning. When planning iterations, releases and projects you must take into account local work calendars. For daily meetings you have to take into account individual work schedules and the time difference. Many of the tools you can use have these elements built in:
Corporate calendars usually allow you to schedule meetings, taking into account the different time zones of your team members. It is recommended that you mark the individual employee’s work schedule on your calendar, if it differs from the standard. It is also convenient to use group calendars so you can see the operating schedule of all the team members or selected subgroups. With the group calendar, you can quickly establish a meeting by selecting the most suitable time for everyone.
Tools for planning tasks
Tools for project planning often allow the use of calendars specific to certain countries, taking into account holidays and weekends, as well as individual calendars for each employee of the organization.
World Clock Meeting Planner
This tool is easy to use in order to select the best time for a meeting, when the participants are in different time zones. The program assesses possible hours for a meeting, highlighting the most suitable time in green, yellow - less than optimal and red those intervals which are not optimal.
24 hour day
Some teams like to implement a global pipeline where work that is partially done is transferred between teams in various time zones. For example, the development is done in one time zone, and testing in another. This reduces (sometimes by a lot) the duration of the project.
This approach has been used for a long time and proved its efficiency. Quite a few years ago it was used in the development of Microsoft Internet Explorer. American and Indian teams involved in the project called it "Follow the Sun". "They worked the night shift while my team in Redmond worked days," Skott Berkun said. "If I planned well, we'd find magic in going to bed frustrated by a missing puzzle piece, and waking to find it in our inbox. It was like having a friend in the future."
Want to upgrade your Project Management skills? Check out our trainings.