Challenges
Time zone, culture and language differences
One of the main major problems in
distributed team is time difference. In order to communicate, resolve problem,
people need some of their activities to be synchronized. More overlapping time
during the days normally result better engagement and collaboration. When
working with different time zones, individuals can be a day behind of getting
something done. The other barrier could be different language. All over the
world people have different languages. If the communication is not clear, it
can easily create misunderstand and lead to mistrust among team members.
Finally, cultural issue also plays an important part. Western culture likes fast
response while Vietnamese culture expects to carefully craft their responses
and the idea.
Communication
As outlined above, different time
zone, culture and language can create communication challenges for teams. A
major problem with the geographically distributed team members is how precisely
they address questions or pass on information to their colleagues.
Technical alignments
Team members from different
background and regions have different preferences about technologies and tools.
Misalignment in engineering best practices can also create conflicts between
team members. Maybe some members will want to be aggressive about their work
and others would not want to be like this because they do not believe in being
that way. With the co-located team, these misalignment can be generally
resolved over time by discussion to gradually build mutual understanding.
Managerial issues
As the team members are
distributed over different locations, there’s a need for online project and
process management. In distributed environment, transparency and visibility are
essential for all members in order to engage all members in the development
process.
Building trust
Finally, the most crucial thing of a team is building trust.
Because of outlined above things, it is a challenge to build trust when team
members are distributed across different location. It’s often easy to blame and
critize the other groups and the team can break down into competing tribes.
Success practices
Exchanging program
Regular visits by sending members to other location will foster
collaboration. During the visit, the onsite team member will work as a regular
team member at this location. This enhances understanding and also creates
personal trust between the onsite team member and local team.
Knowledge sharing
There is a need to implement the single source for
information across all teams to foster greater understanding among team members.
The knowledge base should be accessible online in real time by all locations.
As set of tools can be used as follows:
- Wiki
- Shared mailing list and folder
- Online project management tools
Communication
In Scrum, face-to-face communication is recommended as the
most effective means of exchanging information. However, it is the most challenging
in a distributed environment. In order to achieve the same high level of
engagement, we need to make a lot more effort. Following practices can be used
to foster better communication:
- Overlapping working hours needs to be established as much as possible.
- A comprehensive suite of video conference, desktop sharing and instant message tools should be provided. These channels must be readily available and easily accessible to all team members.
- Each local team can hold their own daily stand-ups, retrospectives. The action items and information should always be visible and shared to all teams. Moreover, it is quite effective to have a Scrum-of-Scrums few times per weeks to share enough information.
Remote paring
Team member can pair with another remote team member which
can lead to great knowledge transfer. The understanding was much deeper and an
immediate bond was created between the two who paired. Remote pairing should be
done frequently to share the knowledge and experience and avoid code ownership.
Engineering best practices
It is important to establish a set of common best practices
across all remote teams. Scrum Master must facilitate and ensure agreement from
all remote teams. It will re reinforce the trust and shared values between team
members.
No class system
No distinction should be made between team members at
different locations. With a class system, it will lower the trust relationship
between teams. The ‘lower’ class will always feel that they are left out.