We work with clients from across the globe. To create the best possible client and team experience we implement a number of key processes and tools to help reduce the friction that comes with the timezone differences.
When working between different timezones there are a number of issues that can arise if proper processes are not put in place and followed. Some of the risks and problems that can come with different timezones are:
The following lists a number of methods we use to help reduce these friction points and work seamlessly even with a gap in timezone.
For projects where there is a large gap in the timezone, we recommend that teams work in 2-week or 3-week iterations rather than 1-week iterations. Working with longer iterations means you reduce the number of required meetings and instead focus on a larger goal every iteration period.
Whenever possible we aim to always find overlapping meeting times between 8:00 - 18:00 local time for all team members of both sides. If any side needs to work outside of their standard hours we can rotate this meeting time slot to create a balance between teams.
At the start of our day, we make sure the first thing we do is check back on any asynchronous discussions that are in progress or pull requests that are in review. By prioritizing these tasks we are able to reply when there is still crossover time with the client team in case there are any additional points for discussion.
If we must have a call outside of working hours for either team, we make sure we only invite the members from that team who really must be on the call. If there are members who do not have to play an active role in the meeting then they can skip the meeting and catch up later with meeting notes and video recordings.
We anticipate any features that may need discussion and send the questions as soon as possible to allow for enough time to discuss and answer questions. By sending questions and starting feature discussions early on we limit the potential for uncertainty and open discussion to block progress.
We stay aware of the time zones our clients work in and the current day for other team members. We use scheduled messaging for any non-urgent messages to send at a time that better suits them.
Rather than always sending text updates, we leverage loom to send video recordings. Video recordings can help to give a more clear and more visual explanation. Video recordings can be helpful for a number of different scenarios, such as showing new features, demoing new releases, explaining issues, and any other general walkthrough. Loom videos also act as a good reference to look back on discussions and re-watch any complex explanations.
A lot of the discussions we have can be done async using whatever communication tool we are using with our client. To further improve this, we use an agenda for an async item as if it were a live meeting. By treating async discussions with an agenda and goal we make them more productive and further reduce the need for calls, follow-up, and more meetings. Creating async agendas can also help to centralize the discussion and store notes for reference.
We use notion, confluence, and other wiki platforms to store all meeting agendas, meeting notes, project specification documents, and any other content that may be needed for reference. The better organized and documented our project is the less need there is for ad-hoc discussions and meetings.
Setting an iteration schedule and using a mix of formats can help to reduce the amount of time you need to spend having full team meetings. Ideally, an iteration only has one single full-team meeting, with all other meetings held internally or asynchronous.
Below are examples of how different projects are run to reduce the time spent in meetings. The schedules can be used across iterations from 1 - 3 weeks. The duration and length of meetings will differ depending on your iteration length.
3 Week Iteration Full team meetings per iteration: 1
Expected length of meeting: 2 - 3 hrs
2 Week Iteration Full team meetings per iteration: 2
Expected length of meeting: 1 - 2 hrs
1 Week Iteration Full team meetings per iteration: 3
Expected length of meeting: 45 min - 1 hr
In this example, the client controls the backlog and breaks down the user stories for the development team. There is only one single full team meeting, with deliverables completed before the full team meeting to ensure that all of the team understands the scope and the meeting time is minimized.
Required Stages per Iteration
Stage 1: Backlog Preparation Meeting
Required: Client side only
Stage 2: Backlog Review
Required: CodeLink side only
Stage 3: Daily Reports
Required: Sent Asynchronously
Stage 4: Iteration Demo & Kick-off Meeting
Required: Full Team - both sides
Stage 5: Iteration Retrospective Meeting
Required: CodeLink side only
Preparing for the full team Iteration Demo & Kick-off meeting
The following tasks help ensure that both sides are prepared for an optimized Iteration Demo & Kick-off meeting.
Task 1: Client-side team prepares the iteration backlog
Deadline: Prepared by EOD Monday (ET)
Task 2: CodeLink side reviews and sends any open questions for the iteration backlog
Deadline: Questions sent by EOD Tuesday (ICT)
Task 3: Client-side team responds to all of the open questions from the CodeLink side
Deadline: Questions sent by EOD Tuesday (ICT)
With all of the above completed the Iteration Demo & Kick-off meeting can begin with all questions resolved and focus on the demo kicking-off the iteration.
In this example, CodeLink creates the backlog, prepares the designs, and breaks down the user stories. There is only one single full team meeting, with an additional meetings required between the Product Owner on the CodeLink side and the client stakeholders.
Required Stages per Iteration
Stage 1: Backlog Preparation Meeting
Required: CodeLink side only
Stage 2: Design Planning (for the next iteration)
Required: CodeLink side only
Stage 3: Backlog & Design Presentation
Required: CodeLink Product Owner + Client Stakeholder
Stage 4: Backlog Grooming Meeting
Required: CodeLink side only
Stage 5: Daily Reports
Required: Sent Asynchronously
Stage 6: Iteration Demo & Kick-off Meeting
Required: Full Team - both sides
Stage 7: Iteration Retrospective Meeting
Required: CodeLink side only
Preparing for the full team Iteration Demo & Kick-off meeting
The following tasks help ensure that both sides are prepared for an optimized Iteration Demo & Kick-off meeting.
Task 1: CodeLink side prepares the backlog for client review
Deadline: Prepared by EOD Friday (ET)
Task 2: CodeLink has the designs for the new backlog items created
Deadline: Prepared by EOD Friday (ICT)
Task 3: CodeLink presents the backlog items and designs to the Client-side stakeholders
Deadline: Monday
Task 4: CodeLink team bring in any changes based on presentation feedback
Deadline: Completed by EOD Tuesday
With all of the above completed the Iteration Demo & Kick-off meeting can begin with all of the product features prepared, approved, and designed for the new iteration.