Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Experiences from Working with Distributed Agile Teams

Experiences from Working with Distributed Agile Teams

Leia em Português

This item in japanese

Not being able to frequently connect with your colleagues face-to-face makes successful communication more difficult in distributed teams, said Shabi Shafei, Scrum Master at ABN AMRO Bank. She presented how distributed teams can transform into great agile teams at the Agile, Testing and DevOps Showcase 2019 in Amsterdam.

The main challenges that distributed teams face are due to the physical distance between team members, said Shafei. She stated that "it’s challenging to build trust and a sense of ownership when you physically do not see your colleagues regularly." She also mentioned that cultural differences are more prominent in distributed teams.

Shafei suggested focusing on establishing the norms in which you want to cooperate with each other. Having clear team agreements can really help, she said; together as a team, you formalize the ground rules on how to communicate, where you store information, during which hours everybody is available, etc. She also suggested making time to visit each other or coming together on a regular basis. She mentioned that she visited her team members in India last year, which turned out to be a very valuable period in which she got to experience the work atmosphere of her distributed colleagues.

Shafei presented five key tips for helping distributed teams transform into great agile teams:

  • Enable communication: use the right tools and richer communication channels
  • Kick-off the right way: have all team members physically work together in one location for a short period during the start-up phase
  • Establish the rules of the game: let the team define the ground rules needed to make themselves more effective and successful
  • Avoid creating knowledge silos: spread your knowledge evenly across locations
  • Have a rotation programme: enable team members to travel to another location for periods of time working side-by-side with their distant colleagues

There is no return without investment, said Shafei; you will not achieve high performing distributed agile teams without making significant investments (money, effort, time). She also mentioned that no change can happen without changing mindset. You can have fancy tooling and visit each other regularly, but if you do not have people with the right mindset you will not get very far, she argued.

InfoQ spoke with Shabi Shafei about her experience working with distributed agile teams.

InfoQ: How do you establish team agreements?

Shabi Shafei: There are many ways to establish team agreements. A common way to do this is by setting up a meeting with the team. Make sure that proper tooling such as audio, webcam, and video conferencing software is in place so that everybody can participate. As preparation it can be helpful to already identify various "areas" for which you need team agreements. Three common areas to focus on are communication (how do we communicate with each other?), information (what kind of information do we share and how?), and collaboration (how do we want to work together?).

During the meeting everybody can provide input for each of these categories through using digital post its (check out sites like funretro for example). Make sure the meeting is properly timeboxed, there is time for discussion, and actions are properly formulated. Once the team agreements are clear, make sure that they are visible (hang up posters in each location) and regularly review them with the team as well.

InfoQ: Why is it important to spread knowledge evenly over locations, and how have you done it at ABN AMRO Bank?

Shafei: It is extremely important to avoid so-called "knowledge silos" where for example all the junior developers are in one location and all the senior developers are working from another location.

When I personally started with my distributed team, we had a situation where all the developers and business analysts where working from the Netherlands, whereas the testers were primarily located in India. This was not ideal because it can cause a feeling of inequality between the various locations and it can be more difficult for all team members to feel a joint sense of ownership. Hence, we put effort into structuring the team in such a way that both locations were self-sufficient enough to develop a piece of working software. We did this by mapping the various skills and expertise areas for each location (Netherlands and India) and identifying any potential gaps in knowledge. The outcome of this analysis was also presented in a retrospective session with the team in order to gather more feedback. Afterwards, we worked hard at making sure any locational knowledge gaps were filled. We, for example, made sure that team members working in India were not only focusing on testing, but also were involved in development and business analysis. This worked out great for the team, since team happiness and velocity increased as a result.

InfoQ: What do you do as a Scrum master to facilitate distributed teams?

Shafei: As a Scrum master I try to create an atmosphere of transparency and trust, in order to facilitate successful communication between team members. Together with other Scrum masters we also share best practices and create joint approaches regarding our distributed agile strategy. I also notice that distributed agile teams relatively have more impediments on a daily basis that I need to assist in solving, whether it is the video conferencing tool that is not working or helping to mediate misunderstanding between team members.

Rate this Article