Distributed Agile development services / teams are the reality these days. For sure, there are overheads. But it’s all about the trade-off between “distributed Agile overheads” versus the combination of availability of talent at any given time, scaling teams at will, and lower costs.
Communication overheads are mitigated through phone/Skype/hangout calls with screen-share, and it’s common for people to do remote pair programming. However, many times, collaboration still fails. Distributed members/stakeholders may not be available at the same time. The product owner is busy all the time, and getting a hold of her becomes a difficult task. Work that should be finished within hours can take days/weeks of cycle time because of this to-and-fro communication.
How can a team mitigate these challenges?
While working with customers on opposite time-zones (10-12 hours), GlobalLogic figured out that it would be almost impossible to collaborate if we didn’t define a common overlap time. Some teams moved their working days in order to accommodate the overlap hours (e.g., shifting their work day from 9AM to 11AM) while on the other end, the US team also started early. That way, they could find an overlap of 2-3 hours.
Some teams didn’t move their working hours but still defined an overlap time and scheduled their meetings during that time. For unscheduled meetings, the team members would inform their counterpart in another location during their day time. During the overlap time, they made themselves available to talk.
Here are common threads in both types of teams mentioned:
Overlap time is essential if you are collaborating as distributed teams. Some teams do remote pair programming on a regular basis when time-zone difference is not significant. But for teams working across opposite time zones, overlap time is still useful for close collaboration on a daily basis.