Operating software teams remotely and across conflicting time zones requires us to adapt our delivery processes and commit time differently to getting it right in an asynchronous setup. Here are some recommendations on how to collaborate across teams and optimise workflows:
Plan and deliver differently
You cannot make decisions as quickly or easily as when you have everyone co-located in the same time zone. That does not mean that you cannot be agile and change direction, it just means you need more discipline to adhere to your sprint plan.
- Plan features so that dependencies are minimised where possible. Alternatively, you can do this by creating modularised work packages that can be tackled independently.
- Turnaround times on questions can be a major obstacle, and so you need to manage technical questions and resolution as a matter of process. A useful way to do this is to use your issue tracking system to create tickets for questions and manage accountability as with any other task.
- Make decisions transparent and available. Teams on both sides of an offshore engagement will benefit from recording their conversations and making them available to the other team to go through when they come online. The story and context behind decision making is important for offshore team members to grasp, and apply correctly in their work.
Meet and interact differently
- If possible, set daily stand-up and stand-down meetings with the teams at the beginning and end of each work day. The goal of the meeting should be handover or alignment of work done and work to be done for that day. This should also be used as an opportunity to discuss and eliminate impediments.
If you can’t find an overlap to hold joint standups, you may have to rely on a fully asynchronous communication approach like email, persistent chat or recorded video/audio for operational activities. Prepare to have late night or early morning demos.
- Real-time conversation is critical for your offshore team to get feedback and gauge sentiment. Maintain a standby duty roster, where someone from the off-duty team will be available to field calls, escalations or matters of urgency on both sides if needed.