Helping Distributed Teams Work
Helping Distributed Teams Work
The reality in many large organizations is that a Scrum team can be distributed across offices. How do you help an agile team work well under these circumstances?
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
The ideal Scrum team is co-located, with every team member standing around a board each morning, pushing Post-It notes and discussing their issues. However, the reality in many large organizations is that a Scrum team can be distributed across offices or even countries. For example, you may work in a software consultancy where the product owner and business analysts are based in a client organization, or you may have offshore developers or testers.
How do you help an agile team work well under these circumstances?
1. Co-Locate as Much as Possible
The brutal truth is that being co-located is the best way for agile teams to work most efficiently. It is right there in the core agile principles. With co-located teams communication is better, trust is built quicker and work gets done faster. Co-located teams are more successful.
Therefore, aim to have the minimum physical separation possible between team members by establishing geographic clusters. If two offices are nearby, get the team members to work from one and encourage them to sit next to each other. This will help build trust, create coherence, and facilitate osmotic communications.
When you have condensed the team into the smallest possible number of geographic clusters, kick new projects off with the entire team together in a short inception phase or Sprint zero. The product owner can discuss the objectives of the project with the whole team and everyone can work together to create the initial high-value user stories while ironing out architectural issues. This only needs to take between a day and a week depending on the complexity of the project and will allow team members from different clusters to get to know each other, setting a good foundation for future communication which is well worth the one-off travel costs.
Ad Hoc Visits
Even after a strong start distance will impede communication between the clusters, so encourage ad hoc visits between sites, especially by the scrum master and product owner, and ensure the project budget covers these additional travel costs.
2. Communication Is Key
Distributed team members will need to find the right tools to help them communicate and manage their work.
Digital product and Scrum boards, such as Trello or Jira, will be necessary. Note that a likely consequence of a team being distributed is that more detail will need to be added to tasks on the digital scrum board to ensure they are fully understood by team members on other sites. Clear and well-written acceptance criteria will be especially important. However, be wary of falling into the trap of adding more information than is necessary. Jira, with its multitude of optional fields, is especially prone to lead teams to do this and become unnecessarily bureaucratic. Remember, the purpose of a stand up is to keep the team current, not the tool.
Tools that make the team feel physically closer are better, as familiarity creates trust.
Encourage team members to avoid email, which is private and asynchronous in nature, and can lead to delays and loss of momentum when fixing issues. Instant messaging tools, such as Slack, are better for resolving issues quickly in real-time and allow the whole team to see what is going on, even if they are not directly involved.
Video calls are better than teleconference calls for running scrum ceremonies. Conference calls can work, but when all team members are not visible it is much easier for introverted individuals to stay silent, for extroverted individuals to dominate a ceremony and for anyone to not give their full attention by only partially listening in while getting distracted by email or other conversations. As people dialing in can sit down to avoid the discomfort of physically standing up, it is also much easier for discussions to drag on and for stand-ups to run over time.
All of this means a scrum master will have to work harder to tactfully close discussions which have gone on too long, encourage contributions from all team members and to keep stand-ups time-boxed appropriately. It can help to stick photos of team members from other clusters above the teleconference phone to remind everyone that there are real people on the end of the phone and to ensure they do not get left out.
One of the most ideal ways to run distributed ceremonies is for each cluster to have a meeting room where all members from that site can gather and view two monitors: one showing a video conference of the other clusters and the other showing the digital scrum board.
3. Culture Above All Else
With a distributed team, communications tools will be extremely important in overcoming the loss of direct, face-to-face collaboration but always remember: tools do not make you Agile, culture does. So, always be working to foster an agile culture.
Constantly work to build trust between the clusters. Celebrate early successes and make a point of highlighting the contributions from other clusters.
Be Conscious of National Differences
If a team is distributed across countries, be aware of the national cultural differences. For example, in Japan, "Yes," may mean, "Yes, I heard the question," rather than, "Yes, I'm going to take action.” Team members from some countries will fear saying no to people who they perceive as being senior. A good Scrum Master should be aware of these nuances and ask open-ended questions to confirm that individuals, and hence the team, truly understand their tasks.
Inspect and Adapt Behaviours
Use sprint retrospectives to inspect and improve the agile behaviors of the distributed team. A useful way to make good behaviors explicit and collectively understood is to define shared working agreements and visibly record them on the walls where stand-ups are held. For example: “Everyone should dial into the stand-up call on time,” or “It is OK to say no.”
Co-locate the distributed team in as few geographic clusters as possible and try to kick projects off with the whole team together in one place.
Use communications tools which help to make the team feel physically closer together, such as video conferences and IM. Use digital Scrum boards, but remember that the purpose of a stand up is to make sure the team has a shared understanding of the work being conducted rather than to keep the digital board up-to-date.
- Utilize tools to improve communication but remember that culture makes you Agile, not the tools. Use your sprint retrospectives to continually foster good agile behaviors.
Published at DZone with permission of Christopher Moss . See the original article here.
Opinions expressed by DZone contributors are their own.