Wednesday, June 15, 2016

4 Tips to Solve Communication Issues With Geographically Distributed Agile Teams

The workforce has gone global.

Geographically distributed teams are the norm.

There is a vendor I work with that provides 24/7/365 support for our systems.  The vendor’s workforce is distributed across at least 3 continents.  Most of the people work from home and use teleconferencing tools to communicate with clients. 

Where I work there are 2 main locations and 2 time zones. People are geographically split about 50/50 between the two locations.  In addition, some team members are contractor who work at yet a different sight.

Beyond that, several people have work at home agreements on particular days of the week, which increases the remote workers by a factor of two. 

How does a high performance software organization run smoothly with so much distance between members of the same team?

Remote teams face challenges

The management team has done several experiments to create an environment that supports good communication for the distributed teams: 
  • Team Chartering - creates work agreements and alignment on roles, goals and team norms
  • Accessibility - among team members enables fast communication
  • Common Tools - create a development environment that is efficient for everyone
  • Team Space - enhances shared vision, shared information, space for brainstorming and information radiators showing status of work and possibly changes in priorities

Team Chartering - The Key to High Performance Interaction


In the book Decisive, Chip Heath and Dan Heath describe some interesting decision making tactics for hiring.  One experiment was run for a call center where turnover was very high.  The experiment consisted of a new interview process that actually walked the candidate through a very difficult support call with a customer. In contrast with a normal interview that talked about “a good work environment, great benefits, and growth opportunities,” this new interview style set the expectations about how difficult the job would be.  This interview techniques primed the candidates to expect some hard to handle customer calls and also weeded out those people who were not capable of handling difficult customers.  As a result of this interview evolution dramatically reduced the turnover at the call center.

The act of priming people’s expectations is the core to solving conflict and communication issues before they occur.  See the article “Solve Conflict Among Team 
Members Before it Starts,”  for a detailed discussion on how Team Chartering helps set expectations and align work agreements among team members.


Accessibility - The Grease that Keeps Team Running Smooth


When teams are co-located they just talk to each other as a part of the fluid motion of their development work.  Teams members that sit near each other have an amazing productivity because they get stuck and then unstuck within seconds.  

One person finds a difficult piece of code.  He turns around and asked his colleague about the problem.  She responds with a piece of advice or provides context for the code.  He says, “OK. that makes sense. I think I got it.”  Problem solved.

When individual team members have specific knowledge areas they are especially critical information conduits.  

Fluid communications among team members is key to make sure everyone is aware of what others are doing. 

Many teams use chat room applications to keep the information flowing.  Slack and HipChat are two of the most common.  

Use a chat app and keep teams sharing information constantly no matter how many locations are involved.



Common Tools - Experiment, Adopt, Mentor


My favorite home improvement tool is my Dewalt Cordless Impact Driver/Drill with Quick Release Chuck. I keep a long philips head screw driver bit and a few drill bits in the case along with the tool.  I can quickly replace electrical outlets sockets, hang pictures and install bathroom accessories in a flash.  Or I can build a deck or a garden gate. I don’t carry screw drives AND a drill, I carry my combo tool and get through things fast.

Tooling can increase performance for anyone and can create a new speed limit for your team.

All teams need to experiment with different tools.  And adopt new tools when experimentation shows substantial performance gains.

The team member who has experience with the tools must then mentor others in the best practices.

No matter whether you are close in proximity or far away, all team members need access to the common tools and the common repository of software libraries, scripts and build machines.


Team Space - Shared Space = Shared Information = Shared Success


The best thing about a team space is the information radiators that provide a constant focal point.  An information radiator can be anything from white board drawing to matrix of sticky notes to an LCD screen that shows up-to-date information about the current development status.

For remote teams, a single team room is not possible.  You might have a team room for each site.  Consider the case where every person is in a different location.  In this case, you would need a virtual team which can be constructed using Wikis, video and teleconferencing, and possibly a virtual whiteboard or shared creative space.

For distributed teams, the next best thing to information radiators in excellent video tools that can show the details of a white board drawing.

A fall back option is a shared creative space such as www.realtimeboard.com.

And the minimal situation is a tool  to show the content of a product backlog and status of teamwork.  A spreadsheet would be the simplest implementation and a web application like Trello, JIRA, Rally or VersionOne would be the most comprehensive solution.

Simple audio communications will not be enough to keep a team in sync, there must be a conduit for sharing the vision, backlog and progress of the teams works.


Remote Teams Have Challenges


There is no doubt that remote teams are challenged by many more obstacles that co-located teams.  The ability to push information between team members is much more difficult over the phone or via video or even with agile project management web application.

The ability to see the attitude of a teammate instead of just hearing a voice can create friction because telephone communication can miss more than 55% of the content.  To be precise communications breaks down to 7% verbal, 38% vocal, and 55% visual.  

On a conference call you get the verbal and vocal, but sometimes the connection isn’t great and that erodes communications even further because it frustrates either one party or the other.  If the connection creates a broken voice or static or echo it’s infuriating for everyone.

If you are faced with managing a geographically distributed team give them every advantage that you can by helping them set expectations about how they will work together (Chartering).  Also provide the best available messaging/chat and video/audio conferencing (Accessibility). Make sure you give the team the best tools (Common Tools) and create the best shared space (Team Space) that you can so information flow will be easy.

What is your biggest struggle with your remote team?  Please leave a comment.

Also, if you find this information useful please share on Facebook, Twitter, Reddit, Linkedin or another spot that enables you to help others.