Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Can Virtual Teams Ever Work?

Can Virtual Teams Ever Work?

Given that co-location is one of the bedrocks for Scrum, the increasing trend toward operating non-co-located teams raises questions on how Agile can work in such an environment. Indeed, is an understanding of the common reasons Agile projects fail enough to offset this risk, or with will a new breed of Agile tooling enable virtual teams to work as effectively as a co-located team?

David Churchville described the common distributed team scenarios, offering solutions to common pitfalls of delivering Agile projects using different types of distributed team:

  • Type A: All developers are together, all customers are remote

  • Type B: Multiple development teams in different locations (but each team is together)

  • Type C: "Virtual" team where nearly everyone works remotely (e.g. from home, in various offices, etc.)

The author discussed some valid approaches for Types A and B, however for Type C:

On to Type C teams - the new "virtual workforce" we've been hearing about. Unlike the first two types, these folks never see anybody. This turns out to be strangely beneficial. Because everyone is on the same level, these individuals are either lonely and isolated, or pretty happy with their arrangement. We can influence the outcome towards the latter by setting up frequent communication and having an initial in-person meeting as with the first two types. Virtual teams can suffer from poor quality of communication though, and may need to supplement with group collaboration tools like shared whiteboards to supplement daily calls, emails, IM, etc.

For Agile aficionados enamoured with pair programming (developers working on a task together), it's possible to setup virtual desktop and keyboard sharing (using VNC or similar software) along with an Internet phone line (e.g. Skype) to do this.
Tools such as Mingle and VersionOne are firmly aimed at the management of executing the build of a software product (and in their Web based nature supports distributed teams), and using practices such as mentioned above, but cannot facilitate virtual teams activites such as pair programming and daily meetings – where social interaction is fundamental.

In light of Alistair Cockburn’s work on the importance of quality in communication and the role it plays in Agile teams, and the plethora of communications tools (IM, Skype, IRC, Groups, Virtual Whiteboards) - do we have what's needed to make truly virtual teams effective?

Rate this Article