假如本地协作是 Scrum 的基础条件之一,那么非本地协作团队不断增长的趋势就带来了一个疑问,即“在这种环境下,敏捷如何进行?”。对敏捷项目失败的普遍原因的理解能抵消这样的风险吗?使用新的敏捷工具可以使虚拟团队像本地团队一样有效工作吗?
David Churchville 描述了常见的分布式团队工作场景,并为不同类型的分布式团队进行敏捷项目交付时常常遇到的问题提供了一些解决方案:
- 类型A:所有开发人员在一起,所有客户在异地
- 类型B:多个开发团队在不同的地点(但对于每个团队,所有成员在一起)
- 类型C:“虚拟团队”,几乎所有成员都不在一起(例如,在家或不在同一地点的办公室等等)
针对类型A和B,作者描述了的几种有效方法。然而,针对类型C:
对于类型C的团队,就是指我们常听到的新词儿“虚拟劳动力”(Virtual Workforce)。与前两种类型不同,这种类型的虚拟团队成员彼此根本没见过面。实践证明这种方式也有它的益处。由于每个人都在同一级别,每个人都是相对独立的,团队成员都乐意接受这种方式。通过建立频繁交流以及像前两种类型团队的启动会议,还是可以提高工作效率的。尽管虚拟团队存在沟通效果不理想的问题,但可以通过群组协作工具 (如共享白板等)来弥补电话、E-mail 和即时消息等方式的不足。 对热衷于结对编程(两个开发者一同完成同一个任务)的敏捷信徒,建立一个虚拟桌面和共享键盘不是什么难事。我们可以通过使用 VNC 或类似的软件以及国际电话软件(例如 Skype)来达到这一点。
还有一些工具(如 Mingle 和 VersionOne )是以软件产品的构建管理为目标的,它们同时还提供 Web 访问方式来支持分布式团队,还使用了上面提到的一些实践方法。但是这类工具仍不足以支持虚拟团队的某些活动,如结对编程和每日立会,因为这些活动是以社交性互动为基础的。
根据Alistair Cockburn 对沟通质量重要性的论述以及沟通在敏捷团队中所扮演角色,加上层出不穷的沟通工具( IM 、 Skype 、 IRC 、 Groups 及 Virtual Whiteboards 等),我们还需要什么东西使虚拟团队的工作更有效呢?
查看英文原文: Can Virtual Teams Ever Work? - - - - - -
译者简介:乔梁, BJUG 成员,在 IT 领域工作多年,先后从事过软件开发、架构设计、技术管理等工作,目前从事项目管理工作。关心软件技术领域发展,对软件生命周期管理及过程改进方面的内容很感兴趣,对敏捷方法论亦有所了解。他的个人 Blog 为: http://blog.csdn.net/tony1130 。与 InfoQ 中文站分享内容,请邮件至 china-editorial@infoq.com 。
评论