One of the biggest, and yet common, issue during a project within distributed teams is communication. If you are working with Scrum or any other Agile development methodology, you have probably realized that having conversations every day is a valuable step in the process. This is because the team’s productivity and the product’s success are partly based on it.
Communication challenges facing distributed teams
“Communication is critical for the entire team to be able to understand the common goal”, says Scrum Master Raj Kasturi, and he is entirely right. I don’t think that there has ever been a team (whether co-located or distributed) that has reached their common goal without constant and effective communication. Maybe they got where they wanted to be, but it would take much more money, resources and time.
Therefore, I spent some time researching about what other agile teams do regarding ensuring productive and efficient communication, and I also asked some team leaders here at Setapp what they considered to be the best communication practices.
I’ve listed four of them that you should take into account if you are going to start a new digital project with an outsourced development team:
1. Face-to-face communication
Face-to-face communication is considered to be the most efficient and effective method to deliver any message to and within a development team. It is even more so when you make use of whiteboards, index cards or flip charts, etc. This type of interaction should be handled virtually if distributed teams are spread across different locations. So setting up regular conference video calls (e.g. using Skype or Google Hangouts) will create space for scrum team members and product owners to come together, collaborate, and work on the common project goals.
Additionally, It's essential to physically visit the rest of the team during the vital points in the project. These may include but are not limited to the beginning and planning phase of the project. It’s also an excellent opportunity for team members to get to know each other better. This simple step can result in building trust and relationships. Especially if off-hours social events are planned as well.
2. Real-time communication
Who wants shorter and faster conversations and clarifications? Everyone! Real-time communication helps to overcome “communication-related problems”. Such as relying on the team hierarchy or waiting until the next planned meeting to address an issue. If you add this practice to your communication strategy within your team, you will be able to respond more quickly to unexpected situations and bottlenecks.
An example of a tool that allows real-time collaboration and communication is Slack. Since it is a chatting programme, you can have different one-on-one and group conversations. Just like on any other application of this kind. You can also set automatic reminders to other members, and integrate it with your Project Management Tool (e.g. Jira or Bitbucket). Once you do this, you receive instant notifications when someone is working on or is finished with a task.
As long as you make sure to establish some general rules, this tool can prove invaluable. Therefore, you should define the availability of team members during the week. As well as ask all the team members to remember that they should be available when agreed and follow everything that happens in the defined communication channels.
3. Frequent calls and meetings
Do you want to keep transparency at the core of your team? Then make sure that your team members add the practice of routine calls and meetings to their communication flow. Constant and active interaction allows team members to respond fast to any obstacle during development. It also keeps everyone in the loop. Furthermore, frequent communication between stakeholders, product owner and software development team, can prevent the “us versus them” attitude in the team during the cooperation.
Daily Scrum meetings/calls are a perfect example of good practice in communication. During such meetings/calls the scrum team, the scrum master and the product owner are all involved. They provide information about the team’s progress and obstacles during a given period. Moreover, you and your dev team should identify a person (for example a scrum master) who is responsible for intervening in situations when someone in the team is not responding to emails or messages or is simply absent during work hours.
4. Shared information repository
Having a shared information repository that all team members have access to can help reinforce how team members communicate information.
For a distributed team sharing information that is visible to everyone is a fundamental practice. It ensures transparency and can enhance communication at all times. Everyone in the project should know about this information storage.Equally important is that it should be clearly defined how to access it and what the conditions to add, edit or delete any information that it's already there are.
What is more, teams should consider the need to share information in a more formal, structured, and scheduled way. This helps everyone to understand what is being communicated and actually done without the need to call someone for clarification.
Common tools which you can use to do it are for example Jira or Trello. They are perfect for sharing task-related information within your team. Another useful tool you can try when it comes to sharing project-wide information is Confluence (or any other wiki-based documentation systems that exist).
You and your team will have all kinds of information and data available at all time, and anywhere you are. Having a repository is very beneficial when/if:
- some team members are not around at the same time,
- you want to check the status of a particular task that your colleague is doing, or
- you’d like to share a document with all team members.
I hope these four tips were a good reminder of what good and effective communication within a distributed team should be like. By just being aware of such easy and necessary communication tactics you can already be sure that you’ll be able to troubleshoot whatever challenge comes your way. At the same time having continuous improvement in every aspect of the product development.
Keep in mind that focusing on and improving communication should be your priority throughout the whole product creation process. In this way, the team can deliver the highest business value in the shortest time and reach the objectives of the project.