Dealing with challenges in distributed teams
I am the SM for a team that is distributed across India and US [California] time zones. To address the challenge with inter team communication, we set up a shared page to address our queries and share updates to US team at India's end of day. However, it is becoming increasingly difficult now as the complexity of the product has increased and constant interaction has become a necessity. Any ideas on how I can address this issue?
How many people are in the Dev Team ?
How are the skills distributed ?
My idea is maybe it could make sense to split into several colocated teams instead of a big distributed one ?
Thanks Olivier. Its a team of 10; 7 in India & 2 at San Jose. The PO is located at Chicago.
the complexity of the product has increased and constant interaction has become a necessity
The more complex a system is, the more unknowns there are which need to be brought under empirical control.
Why is the complexity of this product thought to be increasing over time, rather than decreasing?
I'm also curious how you update the US team with there being a 12 hour time difference. Do you do it via email or other virtual tool or is the US team waking up at 5 AM to have a conference call? What tools or methods are currently employed for discussion and collaboration?
It also seems odd to have 7 developers in one spot and only 2 in another. Is there a big differentiation in skills between the India reps and US reps? As in are the 2 in the US mainly testers or more experienced developers that the rest of the team depends upon?
Thanks Ian & Curtis.
Yes. The complexity is definitely increasing as its a new product, new team, and various unknowns have started to surface.
Currently, we use emails with a verbal agreement that they should be responded to within a day's time. We have the Daily Scrum around 8 AM IST, which suits the US team as well. The other ceremonies are still a challenge with respect to time but I rotate the inconvenient timings between the two geographies. US team consists of 1 UX designer and the other a senior developer, both critical members.
My concern is how can I increase collaboration between the team members. What's happening is: Say, in a call, an Indian team member introduces himself as, "I am Ashish from India team." The US person says, "Hi, I am Austin from US team." Though it sounds minor, I believe it reflects the mindset that somewhere there's a gap in collaboration. I would prefer them say, "Hi, I am Ashish/Austin from AI team." :-)
Good that you're doing the Daily Scrum at a time that is not a huge inconvenience to both teams and that you rotate the other ceremonies so the US team is not always getting the short end of the stick.
Email is okay but what other tools do you use that can be used for collaboration? What do you use for backlog management?
I think you are wise to have the concern of the "US Team" and "India team"; that conveys the message that you've got 2 completely separate teams that just happen to work together. One way that you could manage this is replacing "team" with "office". So instead of "Hi, I'm Curtis from the US team", I would say "Hi, I'm Curtis and I'm in the US office." It's a very minor change but it does 2 things, (1) it lets the team know where the person is and (2) it doesn't seem like there are 2 separate teams.
I would also try to find a more collaborative tool to use and limit emails to be used only when absolutely necessary. Here is a good link that has a good suggestion of virtual tools for scrum and kanban teams: http://www.opensourcescrum.com/
The complexity is definitely increasing as its a new product, new team, and various unknowns have started to surface.
Perhaps it would be best to highlight the risks of having a dislocated team at this early stage, before problems compound any further. Transparency is needed over the cost and impact of any constraints on team efficiency, and the commitments the team can make. If the team cannot be satisfactorily co-located, whether it be physically or virtually, then they may need to limit the scope of each Sprint in order to make outcomes predictable and achievable.
A team can sometimes move to a dislocated model once complexity has been brought under empirical control and development has stabilized.
@Curtis - Thanks for the suggestion of using the word - office. I like that and have already implemented it. It's working good now. Also, thanks for the URL - great references. We are already looking at Agilemantis.
@Ian - Thanks for the suggestion. I have escalated the suggestion with the senior management and hoping for a positive reply. If even a couple more sprints can be managed that way, I believe it would create a great transformation with respect to collaboration with the team.