One of the major problems that teams trying to adopt agile tend to suffer from is trying to do too much too soon and expecting results instantly. For teams starting out on the agile journey, it is more important to get the basics right which is especially important for teams of a distributed nature.
The first important focus of a team should be do all they can to be communicating as effectively as possible. With co-located teams, this is generally a case of walking over to colleagues and making sure they are aware of what you are up to and whether there are any issues, these shouldn’t be left until the following daily stand-up but should be shared with the scrum master/sprint facilitator and other team members as soon as possible so that it can be resolved. There may just be a member on the team who has previously experienced this issue or atleast knows how to fix it.
With distributed teams, this can be more difficult, this is usually left down to the scrum master to keep in contact with the distibuted team members , obviously this is added responsibility for the scrum master to deal with (although as faclilitator, this is probably part of the job spec). Any impediments tend to not get raised until the stand up meetings or until the team in one location have done all they can to try and resolve it without getting the other part of the team involved.
So it can be quite clear that the teams in different locations can be good at collaborating with themselves but when collaborating between all sites, this proves to be more difficult.
Maybe one suggestion to help aid this difficulty would be to ‘buddy up’ team members from different sites so that all members of a distributed team that are on different sites have someone who they can be in constant discussion with. This could maybe start by just chatting with each other about ‘non-project’ matter, so strike up general conversation to try and construct a relationship based on more than the fact that you happen to be working on the same project. This then means that both parties will hopefully feel more comfortable talking about project issues with each other. Hence meaning that without forcing the issue, issues will be raised informally faster and what is happening on each site will be more visible to all team members. It means that when conversations occur in meetings that are very one-sided, they can then be discussed out of the meeting between the ‘buddies’ to make sure that everyone has the same understanding. It could also make members of the team more aware of the distributed members presence in meetings that can sometimes end up in a one sided conversations, meaning that they will be more inclined to include the distributed members in the discussion rather than just the team members present in the room.
This doesn’t necessarily have to be chats over the phone, these could be conversations over IM or email meaning that it doesn’t have to affect work flow, but just having a nominated person to chat to and not have all communications going through the scrum master, may make for a team which is more aware of everything that is going on around them and they will also be aware if someone is struggling with their tasks and may not have felt comfortable announcing this in the daily meetings.
I feel this would improve the relationships between all team members and also see a rise in productivity.
This may not obviously work for all teams, but I feel it would benefit those teams who may be struggling with problems taking a while to be raised and communications between sites not being the best.