Communication challenges with distributed teams

Agile development is based on an easy and informal work-flow of communication between customers and software house. One of the greatest challenges is to keep the communication fluent also between the development team.
Recently we took part to a simulation during which two different teams, split into two sub teams living in different time zones, have to complete a “project” into 3 iterations.
Let’s recap in details the structure of one of the two teams

Team A
•    Country 1 sub team
o    1 business analyst
o    1 project manager
o    1 technical leader
o    2 developers
•    Country 2 sub team
o    1 business analyst
o    1 project manager
o    1 technical leader
o    2 developers

During iteration 0 the business analysts have had the opportunity to take a look to the overall project and collect the requirements (actually the simulation ask to redesign an abstract picture).
Each iteration was 20 minutes long and during the iteration each sub team can work only 10 minutes and have 2 minutes to have a face-to-face discussion.

After 3 iterations the “Team A” and “Team B” get a very different result, the first one completed the 80% of the picture but it without reflecting exactly the original specification, the second one was able to deliver the 50% of the picture but it was much more accurate.

Instead of focusing on which is the best result for the customer what is interesting is the way the two teams organized communication.
After 3 iterations “Team A” has used only one paper of the dashboard to put in place some communication between the 2 sub-teams, on the other side “Team B” have arranged a WIKI, a message board with tags, a defects list with priorities, status, description, unique id, etc.
The lesson learned here is that a good communication work flow has to be adaptive, during the simulation it was amazing but not useful at all a so well organized communication.
Another interesting field of this simulation is to see how team members worked together, in “Team B” developers started to work together with the Technical Leader only during last iteration, instead business analysts, project managers and tech leads started immediately to work together.
The lesson learned here is that people have different communication skills and especially developers need time to start to understand each other, so don’t pretend to have a great velocity since the beginning and focus your attention on the way people is working together is very important during the first iteration of a project.

The overall lesson is that agile with distributed teams is possible but more complex because you have to avoid concentrating yourself too much on tools and documentation (otherwise this is waterfall).
Moreover you have to keep in mind that communication between two different teams takes more than the 10% of the iteration time, so keep safe at lease the 25% of the time of each developer in order to let them communicate and understand each other.

This entry was posted in Agile. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s