Strong collaboration and communication are two of the governing principles of agile development. That's one reason why working in collocated teams -- teams in which all members physically work in a common area – is considered a critical practice for a successful agile team. Frequently, however, collocation of all team members isn't possible. Indeed, over 40% of agile teams are distributed geographically, estimated Agile evangelist Cory Foy of Net Objectives at
Agile Conference 2010
recently. In this article, the biggest challenge of distributed agile – the lack of face-to-face communication -- is explored, as well as ways this issue can be addressed.
Why togetherness helps agile work better
"Collocation is really one of the core tenets of agile. Close quarters of agile makes for some great and efficient teamwork," said software engineer Allen Loew when describing his first year on an agile team.
In agile, teams are encouraged not only to communicate often through daily meetings, but to physically sit together. Many methods of brainstorming, estimating and planning encourage discussion rather than the use of high-tech tools. Dave Thomas, one of the pioneers of agile development practices, even suggests -- and not mildly -- that laptops should be banned from agile team meetings
because they distract from face-to-face communication.
Common agile meeting practices include using sticky-notes to capture team ideas and physically moving them around on a white board during planning sessions. Teams are encouraged to all be physically present and interact, using collaboration techniques to come to consensus. For example, the team might use a technique called "Fist of Five" to indicate their level of comfort with a particular decision. Everyone in the room votes by raising their hand using the number of fingers to indicate their level of support. Some teams agree that they do not move on until everyone in the room raises at least three fingers, indicating they can live with the decision.
While software tools are cropping up that emulate the various techniques used by collocated agile teams, some people feel it's not the same. Forrester Research analyst David West
has found that face-to-face communication is needed to create the intimacy and relationships needed for agile development team success, particularly when talking about teams with no overlapping business hours. Trying to emulate personal communication is expensive, he said, due to the cost of collaboration tools, travel requirement and project time lost to miscommunications.
Communication studies back up West's assertions about in-person communication being more effective than that which is not done face-to-face. For example, non-verbal communication is a key requirement for eliminating miscommunications, according to a respected human communication study by Albert Mehrabian
, author and UCLA Psychology Profession Emeritus. Without seeing a person speak, understanding the words is harder. The resulting miscommunication certainly affects interpretation of the words' meaning, but Mehrabian also found that not being sure of what a person is saying erodes the trust in that person.
Martin Olson, Scrum Master at Eos Group, has personally seen the lack of face-to-face communication and the inability to read body language resulting in miscommunications. "[You don't see] the feature-rich frowning; the upset; the furrowed brow. The facilitation is a lot harder with distributed agile because you don't see the body image."
The realities of distributed agile
If togetherness is the holy grail of Agile team collaboration, then geographically-distributed teams are the plastic cup, necessary and ubiquitous. "We don't have a choice. We have to work with distributed and dispersed teams," said Cory Foy of Net Objectives at the recent Agile 2010 event.
Four team models are typical in distributed agile development: collocated; collocated part-time; distributed with overlapping work hours; and distributed with no overlapping work hours. Communication is increasingly difficult with each of these, with the most challenging being that involving teams that are distributed with no overlapping work hours. Elizabeth Woodward
, co-author of the book, "A Practical Guide to Distributed Scrum," said in a recent SearchSoftwareQuality.com interview. In this scenario, she explained, there is no opportunity for team members to interact during normal working business hours.
Further complicating communication are differences in cultures and language, Woodward said. It may be very difficult to build trust and friendships if teams are split across countries. This division may be felt even more strongly when there are different groups of people scattered in various locations.
The lack of face-to-face communication time was the number one problem agile users have with distributed communication, according to a straw poll during an Agile 2010 session on tools and technologies for distributed teams. Time zones, languages, cultural differences, technology and lack of responsiveness were listed as problems as well.
These problems can lead to dissolution of following agile practices for teams. "There's a great tendency to fall back on waterfall-like behavior and communication when the difficulties of making up for lack of direct communication become hard on the team," said Scott Duncan, consultant for Agile Software Qualities.
Janet Gregory, co-author of Agile Testing, agreed. In off-shored Agile, she has seen that "communication has deteriorated because of the time zones." As a result, she said, "we end up with kind of a mini-waterfall because we end up having more documents, more requirements, more everything else to help make the offshore team be able to be productive."
New collaboration tools and practices foster agile teamwork
Software test guru Jon Bach has experimented with a new practice to improve distributed agile team communication. "We had dedicated time-boxed sessions that we called an ENC (Explore and Communicate) Session," he said. For 90 minutes, the developers and testers talked on the phone, exploring the user story and code together." Bach advises testers on distributed teams to create "a structure where you are talking one-on-one with the author of the code."
Some teams rotate employees having them work temporarily at different locations so that relationships can form. Others have regularly scheduled meetings, every six weeks, for example, when team members will physically get together.
Tools tailored to agile projects can help improve remote communication and collaboration. There are tools to simulate everything from sticky-notes to whiteboards. Teams are using virtual meeting software for conference calls and Scrum meetings. IM can be enabled, either for the whole group or one-on-one enabling private conversations between meeting participants. Webcams can be used so that meeting participants can actually see one another. Social networking tools allow for sharing photos and building personal friendships.
Second Life and Teleplace, 3D virtual worlds, now offer more options for body language in avatars, and can be an effective ways for teams to communicate, according to Agile trainer and Scrum Master Bill Krebs
, popularly known as Agile Bill Krebs. He currently uses virtual world technologies to teach Scrum. Much like virtual meeting software, virtual worlds allow users to attend conferences or meetings remotely. However, conference calls or virtual meetings tend to lead to multitasking and a lack of attention on the meeting. By using avatars in virtual worlds, it's now possible that non-verbal communication can occur. Avatars also interact with 3D-objects and are more interactive, so there is less chance to zone out. "Using virtual worlds, we think people can have more attention, be more productive, just that sense of proximity," says Krebs.
Videophones are becoming more and more commonplace, now even popular on mobile devices. With big screens and fast bandwidth, we seem to have caught up with the Jetsons. As technologies improve, videophone calls may be as effective as a face-to-face conversation.
Distributed agile success depends upon the team itself
Even with all the advancements in technology, teams are still finding it difficult to reach the same level of cohesion as they do when they are collocated. Often the problem is that people who are not in the same location just do not expend the effort to communicate. Agile leaders advise project managers to test communication skills and not hire poor communicators, even if their other skills are good. Choose distributed agile team members who follow through on commitments, actively engaging with the team and have a positive attitude, and cull those who do not. Finally, agile experts say, do try to arrange a face-to-face team meeting, if it's financially possible. Team-building meetings may be costly, but they're worth it.