Distributed agile teams have to overcome distance and time to achieve what Alistair Cockburn describes as "osmotic communication" -- tacit knowledge and spontaneous discussion. Speakers at an October 2012 summit
on distributed agile teams offered six tips for improving high-bandwidth communication:
1. Make a Time Zone Table. You may know this already, but this tool is a must for finding times for meetings required by your agile process, including daily Scrum meetings, estimating, planning, demos and retrospectives. To create one, use a spreadsheet to list rows of times for potential meetings and corresponding time zones for all members. For example:
Mind the International Date Line and daylight savings time. Then apply your matrix to a range of dates, before or after daylight savings time changes. For example, a December call between New York and India would be at 7:00 a.m. EST/5:30 p.m. India time -- but in June, it is 4:30 p.m. India time. Online date and time tools are useful when putting together this matrix.
Be aware of each location's typical work hours, and make a separate table or calendar of holidays.
2. Break language barriers. Even when remote team members speak the same language, don't assume smooth communications. For example, some people have heavier accents than others. Language barriers can particularly impact the efficiency of agile teams, which include daily standup meetings. One solution is to assign a spokesperson with better language skills in the team's common language (English, for example). Also, be mindful of cultural metaphors and idioms that may not make sense in other countries.
3. Increase visibility.
Because agile teams use task boards to show stories and associated work, communications can become complicated for distributed teams. To show the many visual elements used in agile -- from notecards on a wall to task boards -- teams need to think beyond web cameras. Try using online tools, which can range from free task boards to full-service applications with analytics and portfolio management. Or opt for spatial collaboration environments such as Terf©
. Terf shows cards for each task on the wall in the context of other charts and team members. Online virtual rooms deliver contextual information and a sense of co-presence, where distributed agile teams experience the collaboration they are accustomed to in a face-to-face environment.
4. Improve sound. Agile teams rely on high-bandwidth communication. And clear audio is essential in the frequent meetings necessary in the agile process. So if you are using voiceover IP, avoid wireless for a more stable connection. Little things go a long way in improving sound quality, too. Use a USB headset or ear buds to avoid feedback and echoes from built-in speakers. Consider investing in a better microphone. Some have digital signal processing to reduce noise, some are excellent for large rooms and some have different patterns to accept or reject sound. Finally, provide text chat for backup communication and questions during a long discussion.
5. Go on the record. Recording audio from conference calls and screens from slide presentations keep team members informed if they cannot attend in real time. This is especially helpful for informing offshore team members in crucial content meetings, such as agile planning. Just beware that without the interactivity, it is harder for people to remain engaged. So with recordings, try to keep it short.
6. Organize by component, not role. Some teams may be tempted to assign people in one location one role. Yet team members on agile teams are encouraged to share roles. So what's the solution? Cross-functional teams by location, working on a subset of your project. This improves communication between locals, reducing overhead.
What communication challenges and solutions have you experienced for your distributed teams?