InfoQ

新闻

虚拟团队可以有效工作吗?

作者 Ben Hughes译者 乔梁 发布于 2007年6月10日 下午10时38分

社区
Agile
主题
协作,
工件和工具,
敏捷技术
标签
协作技术,
补充实践,
分布式团队

假如本地协作是Scrum的基础条件之一,那么非本地协作团队不断增长的趋势就带来了一个疑问,即“在这种环境下,敏捷如何进行?”。对敏捷项目失败的普遍原因的理解能抵消这样的风险吗?使用新的敏捷工具可以使虚拟团队像本地团队一样有效工作吗?

David Churchville描述了常见的分布式团队工作场景,并为不同类型的分布式团队进行敏捷项目交付时常常遇到的问题提供了一些解决方案:

  • 类型A:所有开发人员在一起,所有客户在异地
  • 类型B:多个开发团队在不同的地点(但对于每个团队,所有成员在一起)
  • 类型C:“虚拟团队”,几乎所有成员都不在一起(例如,在家或不在同一地点的办公室等等)

针对类型A和B,作者描述了的几种有效方法。然而,针对类型C:

对于类型C的团队,就是指我们常听到的新词儿“虚拟劳动力”(Virtual Workforce)。与前两种类型不同,这种类型的虚拟团队成员彼此根本没见过面。实践证明这种方式也有它的益处。由于每个人都在同一级别,每个人都是相对独立的,团队成员都乐意接受这种方式。通过建立频繁交流以及像前两种类型团队的启动会议,还是可以提高工作效率的。尽管虚拟团队存在沟通效果不理想的问题,但可以通过群组协作工具(如共享白板等)来弥补电话、E-mail和即时消息等方式的不足。

对热衷于结对编程(两个开发者一同完成同一个任务)的敏捷信徒,建立一个虚拟桌面和共享键盘不是什么难事。我们可以通过使用VNC或类似的软件以及国际电话软件(例如Skype)来达到这一点。

还有一些工具(如MingleVersionOne)是以软件产品的构建管理为目标的,它们同时还提供Web访问方式来支持分布式团队,还使用了上面提到的一些实践方法。但是这类工具仍不足以支持虚拟团队的某些活动,如结对编程每日立会,因为这些活动是以社交性互动为基础的。

根据Alistair Cockburn对沟通质量重要性的论述以及沟通在敏捷团队中所扮演角色,加上层出不穷的沟通工具(IMSkypeIRCGroups及Virtual Whiteboards等),我们还需要什么东西使虚拟团队的工作更有效呢? 

查看英文原文:Can Virtual Teams Ever Work?
译者简介:乔梁,BJUG成员,在IT领域工作多年,先后从事过软件开发、架构设计、技术管理等工作,目前从事项目管理工作。关心软件技术领域发展,对软件生命周期管理及过程改进方面的内容很感兴趣,对敏捷方法论亦有所了解。他的个人Blog为:http://blog.csdn.net/tony1130。与InfoQ中文站分享内容,请邮件至china-editorial@infoq.com

没有回复

回复

独家内容

专访开源项目Amoeba架构师陈思儒

DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。

使用JSF、Ajax和Seam开发Portlets(2/3)

作为三期系列文章的第二部分,本文延续了上一期内容,介绍了RichFaces,包括如何把RichFaces集成到之前提到的示例应用中、如何部署RichFaces porlet和RichFaces的多种特性和功能。

Jeff Barr谈论Amazon Web服务

Amazon Web Services(AWS)的传道者Jeff Barr讨论了SimpleDB、S3、EC2、SQS、云计算、Amazon的不同服务如何与应用交互、AWS的起源、SimpleDB和微软SQL Server Data Services、AWS cloud的全球化、三月份的AWS停机。

用Erlang实现领域特定语言

Erlang的并发模型很有名,它的健壮性也很有名。但其他方面呢?在这篇文章里,Dennis Byrne演示了如何用Erlang建立内部DSL。

基于Rails的企业级应用剖析

本视频主要以FreeWheel为例,对一个基于Rails的企业级应用进行了剖析。其中包括:FreeWheel的架构、部署、数据库的问题、REST API、敏捷开发过程、如何去写测试以及持续集成等等。

JavaFX技术预览

JavaFX显示了Sun的Java系列产品市场方向的一个重大转变。随着1.0版的即将发布,InfoQ以JavaFX预览版为参考,与Sun高级工程师Joshua Marinacci探讨了即将发布的1.0正式版。

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。