InfoQ

News

Can Virtual Teams Ever Work?

Posted by Ben Hughes on Jun 07, 2007

Community
Agile
Topics
Collaboration ,
Agile Techniques ,
Artifacts & Tools
Tags
Distributed Teams ,
Complementary Practices ,
Collaborative Technologies
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?

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

Works fine for me by Michael Neale Posted Jun 7, 2007 11:15 PM
Depends on the circumstances! by Dave Rooney Posted Jun 8, 2007 5:36 AM
Re: Depends on the circumstances! by Bruce Rennie Posted Jun 8, 2007 8:10 AM
Re: Depends on the circumstances! by Dave Rooney Posted Jun 8, 2007 8:25 AM
Another religious argument by Bruce Rennie Posted Jun 8, 2007 8:07 AM
Experience with type "C" by Susan Davis Posted Jun 8, 2007 4:18 PM
Re: Experience with type by Michael Dubakov Posted Jun 14, 2007 5:51 AM
  1. Back to top

    Works fine for me

    Jun 7, 2007 11:15 PM by Michael Neale

    The only thing is, you can't take a non virtual team and make it virtual. If it starts out that way, its much easier. You will need some face time each year (just to get familiar with personel).

    The other trick: do stuff, not just talk about it ;)

  2. Back to top

    Depends on the circumstances!

    Jun 8, 2007 5:36 AM by Dave Rooney

    First off, "remote" doesn't have to mean "in another continent" - it can mean "on another floor" or "in another building". Remote is remote.

    Second, regardless of the 'Type', each team is different. You will find examples in each category where it worked well and where it didn't. A lot has to do with the culture - are the people empowered to make things work. I've recently seen a Type 'B' team struggle because corporate security wouldn't allow the use of VOIP or remote desktops across continents. However, I've also seen similar situations where it worked fine and the remote teams were fully engaged. I've seen a Type A team work fine, but then have difficulties when the Customer became less involved. That had nothing to do with being remote. Finally, I've only experience one Type C team, and it worked quite well. That, I believe, is as much a function of the people as it is the enabling technologies.

    So, as with most of the agile principles and practices, it all comes down to the people!

    Dave Rooney
    Mayford Technologies

  3. Back to top

    Another religious argument

    Jun 8, 2007 8:07 AM by Bruce Rennie

    There was a VERY long discussion about this recently on the agile usability Yahoo group.

    Bottom line: A team will always perform better when they are co-located than when they are virtual.

    Now, the difference in that level of performance may be negligible for a given project. That's the decision of the team and the business.

    A lot of people seem to think this is an argument of the form "Co-location good, virtual team bad". It's not. It's more "Co-location better, but you may have other considerations that make it worthwhile to go virtual".

  4. Back to top

    Re: Depends on the circumstances!

    Jun 8, 2007 8:10 AM by Bruce Rennie

    Again, I would say it's not about whether or not a virtual team can work. Of course it can. Humans can pretty much make ANYTHING work.

    It's simply about recognizing that there is a price to pay for working remotely. If that price is small enough to be acceptable then it should be considered.

  5. Back to top

    Re: Depends on the circumstances!

    Jun 8, 2007 8:25 AM by Dave Rooney

    Again, I would say it's not about whether or not a virtual team can work. Of course it can. Humans can pretty much make ANYTHING work.

    It's simply about recognizing that there is a price to pay for working remotely. If that price is small enough to be acceptable then it should be considered.

    Agreed 100%! If I wasn't clear about that, then I apologize. My point is that a team is remote the moment they aren't in the same physical workspace.

    Dave Rooney
    Mayford Technologies

  6. Back to top

    Experience with type "C"

    Jun 8, 2007 4:18 PM by Susan Davis

    I've successfully led a type "C" project in the past, where no two of us were located in the same city. It was one of the best teams I've been involved with, actually, and worked better than some co-located teams I've been on.

    Not being in the same city made it obvious to everyone that we needed to be really proactive about picking up the phone and calling people very frequently. By contrast, in sort-of-colocated teams where everyone lives in a cube farm rather than a project room, it's easy to get complacent about the fact that a coworker is just down the cubicle row, and to not bother to touch base with them for weeks on end. An actual project room solves the problem the opposite way, by removing the effort to communicate with someone altogether; it's that middle distance that hurts team cohesion.

    I'm setting up a new team right now, and we're all together in one big happy project room. We're sort of "type B" in that there's another team in another country that we interface with from time to time, but for the most part, we're independent.

  7. Back to top

    Re: Experience with type

    Jun 14, 2007 5:51 AM by Michael Dubakov

    Almost all open source projects based on Type C teams.
    Many open source projects are successful, but many not.
    There are different reasons, but one of them is Type C team for sure.

    Michael Dubakov
    TargetProcess - Agile Project Management Tool

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.