Working with and in a distributed Agile team presents some challenges, as they are not co-located, work in different time zones, and do not interact face-to-face. Here are some insights on how distributed teams can integrate fully into Agile along with their challenges, as well as best practices they can implement for project success.
Agile development relies more on informal interactions than explicit documentation. This possess a real challenge in a distributed environment due to:
Teams that are co-located have a chance to communicate face-to-face.
During daily stand-up meetings, the Agile team can gather at the Kanban/Scrum/Task board to provide the updates in person. They can also have frequent (and instant) informal interactions during the day.
This face-to-face communication is largely reduced in distributed teams and replaced with voice calls or emails. The challenge is that spoken word accounts for less than 10% of communication between people.
The rest consists of body language, voice inflection, and facial cues. Therefore, the risk of miscommunication is significantly higher in distributed teams, so measures need to be put in place to ensure the team can communicate on a level that will allow them to ‘read’ the subtleties in each other’s communication that are not made up of actual words.
When the teams are spread across nations and continents, cultures can sometimes impede the understanding of certain messages. For example, in some countries, it can be quite uncomfortable for people to directly say ‘no’, whereas in others, it is acceptable (and even expected) rather than give a mixed response.
Such cultural differences can create misunderstandings or over expectations in a project.
Coordination across different time zones
When various members on the team operate in different time zones, it can be very challenging to organise and gather everyone for conference calls or discussions. If the time difference is outside the regular working day, some members of the team will need to participate in calls and meetings at different timelines or adjust their working hours.
In some distributed Agile teams, a core group of testers and developers are co-located, while the rest of the team is located elsewhere in different timezones. The core team exchanges information face-to-face and informally.
The risk is that the teams that are not co-located miss out on this information exchange. After all, some decisions made by the core team throughout the day may not be discussed during the conference call or communicated to the distributed teams.
An Agile team that is co-located can have ad-hoc conversations with ease. They have the ability to share information regularly and rapidly, as well as enjoy casual conversations about non-work topics that help bond the team.
Since they are not co-located, distributed Agile teams generally miss out on casual face-to-face conversations. Consequently, they may feel that they do not holding the same place on their team as their co-located counterparts.
Best practices for distributed Agile teams
After every Sprint, the Scrum Master, and onshore and offshore teams can make use of retrospective meetings to know the “areas of improvements/what didn’t go well”, and then come up with solutions to overcome the challenges.
Here are some best practices that can help build cohesion with distributed teams:
The Scrum Master, and onshore and offshore teams can use a variety of collaboration tools to maintain continuous communication with each other. For example, teams can use Lifesize video conferencing, Skype calls, or online Kanban boards to conduct Agile ceremonies such as daily stand-ups, product backlog refinement meetings, Sprint planning, retrospectives, and clarification calls.
With this virtual connectivity, distributed teams can see each other and interact as if they are all in same room. By being able read their teammates’ body language, facial expressions, and speaking tone, misunderstandings that commonly arise from emails or voice chats can be significantly reduced.
Build team culture with initial meetings
When coaching a distributed Agile team, the Scrum Master can start by getting everyone together in the beginning. For example, the Scrum Master can invite the key offshore team members to visit the onshore team (or vice-versa) for initial planning meetings, and the rest of the team members can join the meeting using video conferencing.
These gatherings not only outline the project goals and ensure that everybody is on the same page, but can also improve team bonding, as offshore teams get a chance to work with their onshore peers for a period of time. Conducting training or team building activities in such meetings can also help to build solid rapport and healthy work relationships within the team, and may also be done at Iteration Zero.
Assistance from co-located Agile coach
During each Sprint, the onshore or offshore teams can seek support from the co-located coach to act as a:
- Reviewer by reviewing sample test procedures and test artefacts to ensure they are compliant with the Agile process.
- Observer by sitting in the some of the Agile ceremonies to evaluate the team’s communication and provide comments on the feedback.
- Facilitator by discussing and assisting the offshore team to solve impediments affecting deliverables or conflicts with their peers.
One of the core values of Agile is the emphasis on “individuals and interactions”. Thus, the Scrum Master, and onshore and offshore teams, need to learn and respect each other’s cultural viewpoints.
Common ways to celebrate and embrace team diversity is to mark holidays and festivals, exchange greetings, and learn few words in the native language of other team members.
Remote pair programming/testing
Onshore and offshore teams can take the same piece of functionality and perform pair programming or testing. Distributed teams can adapt the side-by-side part of the work virtually by using video-conferencing tools like Skype or live meeting.
Not only does it help teams to share knowledge and cross-train each other, it also encourages team members to open up and ask questions, thereby breaking cultural barriers.
Online bulletin board
Teams can use an online bulletin board or Wiki page to introduce themselves and write about their hobbies and interests. This lets the teams know the cultural background of their counterparts, and highlights the virtues of respect, empathy, openness, and transparency for their peers.
Synchronised work hours
To synchronise work schedules with onshore, offshore teams can work in hours that overlap with onshore. For example, if the onshore team is in UK, the offshore team can work from 11 AM to 8PM India time.
These core hours overlap and everyone is committed to be available during this period. All key Agile team meetings can be scheduled during these core hours to ensure maximum participation from team members. By identifying overlapping hours of work, it will be easier to discuss Sprint objectives, progress, and problems at both ends.
Virtual catch-ups by Scrum Master
In co-located teams, people are already familiar with each other and can have friendly/casual catch-ups with the Scrum Master, Agile team, and sometimes with the product owner too. This helps to build trust and mutual respect for each other, which is difficult when teams are distributed.
In light of this, the Scrum Master can organise regular virtual catch-ups with the offshore teams. This type of regular contact can help the offshore feel like they belong to the project team.
Appreciate the team’s efforts
When teams are co-located, a “pat on the back” in monthly meetings can boost the morale of team members. A similar mechanism should be in place to celebrate all the great work that happens across in distributed teams.
One of the easiest ways to ensure everyone’s work gets the praise they deserve is to empower everyone in the team to recognise each other’s contributions in retrospective meetings. This practice can help to showcase the unique value each member brings to the whole team, and provides insight into the strength’s individuals value most in one another.
Such positive interactions can help foster engagement in distributed teams while deepening the bonds of camaraderie.
In the spirit of Agile development, all informal discussions or communications among the geographically distributed team members via Skype chats, calls, and video conferencing can be supplemented with light-weight documentation of the test strategy, user stories (including clarifications), test ideas, minutes of meetings, Sprint timelines and retrospectives. This documentation can help in ensuring that distributed teams haven’t missed out important agreements and information, and are on same page.
Maintain product/process repository
Rather than relying exclusively on informal means for maintaining a knowledge base, and project tracking and monitoring, offshore and onshore teams can use a variety of methods to help teams gain knowledge/understanding of the project, report issues, assign priorities, and track project status. These include:
- Knowledge base articles/offshore Wiki-libraries that contain information about the project, system under test, test and Agile processes, test procedures the team needs to follow and adhere to, etc.
- Online Kanban, JIRA or Scrum task board that enables all team members to share and see up-to-date information. It also lets the Scrum Master monitor the workflow of a project, as well as team members identify blockers that are obstructing development.
- Online team calendar that contains public holidays and leave plans of all the Agile team members for easy tracking. This provides visibility on upcoming days off from the project, and helps the Agile team plan Sprint dates or resourcing in advance.
- Ideazboard that allows retrospective meeting notes and action items to be tracked until closure.
Build better teams
There are certainly some challenges to be overcome in onshore and offshore teams working together. Fortunately, the principles and best practices of Agile can help smooth out the process and lead teams to productivity and success.
Individuals can help by becoming more valuable members of their team, which is something that Agile training can help with. If your team or project has yet to reap the benefits of Agile, contact us today to find out how you can benefit from Business Agility.