Remote & Textual Collaboration

Today, many programmers collaborate remotely.  Some collaborators will never meet in person.  Some will not even meet by phone or video conference and so will collaborate solely through textual encounters.

With so many distributed teams it is important to ask whether physical interactions provide software teams with an advantage and what can be done to facilitate teams collaborating across distance and time zones.

It has been my experience that physical proximity usually helps programmers bond and succeed together.  By proximity I mean being close enough that you don’t think about walking over to have a chat.

Proximity builds social cohesion.  Social cohesion of a team improves communication, improves teamwork, and provides more opportunities for problem solving and creative discussions.

When interpersonal problems arise, proximity can exacerbate problems but equally it provides opportunities to resolve issues.

Where teams have been separated I have seen an over-reliance on textual communication (email, wiki etc) and a reluctance to use more personal communication channels like the phone and video conferencing.

This seems to  me to have two consistent outcomes.  First. team trust and collaboration is inhibited, or worse, trust breaks down.  Second, simple problems grow out of proportion and waste valuable time, even though they could be resolved quickly by a phone call.

Distributed software teams have created great software and so there is no doubt that it can work.  It is simply that my observation is that it is more difficult to create that success and usually requires a conscious approach to communication and teamwork.

Close proximity found to enable better science

So, I was interested to read the findings of a recent Harvard Medical School study that found that close proximity did indeed improve scientific outcomes.  The research article with the full stats and analysis is Does Collocation Inform the Impact of Collaboration?

The Harvard  collocation-collaboration study (H-CoCo) analysed life science research published in the period 1998 to 2003 by four major research centres in the Longwood Medical and Academic Area of Boston.  To measure the quality or impact of each research publication they used the number of citations for the paper as a proxy.  It covered 35,000 articles and 200,000 authors.

Papers with authors located in the same building were cited 45 percent more often than papers with authors in different buildings.  Generally, citations decreased as the distance between first and last authors increased.

Proximity of collaborators has a clear positive impact.

Consider also that the buildings of the Longwood Medical and Academic Area are within 1km (0.6 mile) of each other.  That’s about a 10-15 minute walk (but you wouldn’t want to walk in a nasty Boston winter). Yet, they found that collaboration within a building has greater impact than collaboration between nearby buildings.  Collaboration between cities was least impactful.

One of the study authors, Isaac Kohane, the Lawrence J. Henderson Professor of Pediatrics at Children’s Hospital Boston is quoted:

Despite all of the profound advances in information technology, such as video conferencing, we found that physical proximity still matters for research productivity and impact.

The question is, ultimately, which individuals do you want to bring together?  If you want people to collaborate, these findings reinforce the need to create architectures and facilities that support frequent, physical interactions. Otherwise it’s really out of sight, out of mind.”

Programmer Proximity

I think that it is reasonable to expect similar outcomes for remote collaboration outside of life sciences, including software development.

If you know of research on software projects I am most interested to hear about it and update this post – even retract if needed.

However, for most of us the choice is not whether we will or won’t work in proximity with our collaborators.  Instead, the physical location is determined by circumstance or by management and the distributed team is left with decisions about how best to collaborate across distance and time-zones.  Some suggestions on remote collaboration…

  • Social relationships matter in programming and they affect our software.  Make time for relationships and make  extra effort to establish programmer-to-programmer relationships when collaborating remotely.
  • Team leaders and managers should make extra efforts to help teams relate remotely.  It won’t usually happen without encouragement.
  • Be aware of remote dependencies and monitor them carefully.
  • Don’t let problems get out of proportion: pick up the phone, Skype your colleagues.  If a problem is not addressed within 2 or 3 emails back and forth (or two wiki exchanges etc) then try a more personal communication channel.

What are your success stories on remote collaboration? And your horror stories?  Most importantly, what is your advice for making it work?

Andrew H – Psygrammer


Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s