简析敏捷在分布式团队中的实践

转载 2007年09月28日 08:33:00

简而言之,敏捷是一种新的软件开发的思想,通过迭代、结对编程、测试驱动等实践逐步完善对软件的开发,最终形成稳定的系统。与传统的软件开发相比,敏捷强调人与人之间的沟通,而不是通过文档。这儿可以用Kent Beck、Martin Fowler等16位业内权威的软件人士在几年前所做的一个敏捷宣言来解释:

  1. 个体和交互胜过过程和工具
  2. 可工作软件胜过面面俱到的文档
  3. 客户合作胜过合同谈判
  4. 相应变化胜过遵循计划

从中我们可以看出直接的沟通和交流在敏捷中所起到的重要作用。在传统的方法中,我们强调经验的积累,通过大量的文档和合同等来记录这些东西,其实在实际的工作中,这些辛苦积累下来的东西得到的后期应用很少,因为这些记录通常是烦琐的,不人性化的。即使文档再好,但没有起到实际的作用,也是做无用之功。而在敏捷的方法中通过人与人经验的传递,使得团队中的人很快地成长,站在一个水平线上,为最终目标的完成配置最有效的人力资源。

InfoQ中文站是什么?

这儿之所以要介绍InfoQ中文站,因为这是介绍整个主题的背景知识。InfoQ.com是一个社区型技术媒体,以关注企业级软件开发领域的趋势见长。目前这个媒体在全球开发者社区内引起了很大的反响,经常被各大社区引用。那么InfoQ.com的架构是什么样子的呢?可以说,它是一个非常典型分布式的团队。这件网站的总编在加拿大,销售在美国,开发团队在罗马尼亚,另外还有InfoQ中文站、InfoQ日文站等。而InfoQ中文站上的参与人员也是分部在全国各地的,包括北京、上海、广州、深圳、西安、成都等。

敏捷方法对于团队沟通的借鉴

作为一个知识型的团队,如果没有有效的沟通是很难将工作完成的,InfoQ.com和InfoQ中文站是如何保证团队间的沟通的呢?

在敏捷的方法里,有两个非常有效也是比较简单易用的实践,一个是Stand up,一个是回顾。Stand up的意思就是站立会议,详细解释就是说每天早晨或者晚上,团队成员围成一个圈,分别汇报当天的工作进展情况和下一步的打算,从而让整个团队内部的信息沟通有无,彼此了解对方的进展,推动整个项目的发展。而回顾,简而言之就是在一个稍微长的一段时间内,将过往的项目进行分析总结,发扬优点,改正缺点,为下一个项目或者项目的下一个阶段积累经验。

在InfoQ.com和InfoQ中文站两个组织中都比较好地应用到了这两个实践。比如InfoQ.com的沟通方式是每周二团队Stand up,包括内容、商务和开发人员,分别汇报自己的工作状态,还附之以沟通的电子邮件,进行问题的确认,防止出现理解有误的情况。而对于InfoQ中文站,因为都是中文,交流相对也比较方便,所以一般是每天通过邮件群组的形式进行Stand up,每周一电话沟通本周计划,周三则追踪计划的进展情况,周五则是回顾。通过这种形式很好地保证了公司日常工作的进展。另外一个好处是随着交流的增多,团队之间的了解程度也逐渐加深,团队成员的热情也得到很大的调动,形成了一个比较有活力的团队。这些成绩的背后都可以看到敏捷的功劳。

工具和平台对于敏捷的补充

那么是不是说只要借鉴敏捷方法,就可以让一个分布式团队有效地进行工作呢?还不完全是,另外一个不可或缺的因素是工具和平台。这里所谓的工具就是指交流所用的软件,比如MSN、Skype、Google Group等,通过这种在线沟通的形式,可以方便地联系到团队的其他成员,就某个话题进行交流,还可以进行任务的分配等;所谓平台就是办公写作平台,因为InfoQ.com和InfoQ中文站的主要工作是编辑,那边一个协同的办公平台就非常重要。

这里列举一个协同办公的流程。比如InfoQ.com上新发布了几篇新闻,InfoQ中文站要拿过来翻译,那么管理员把新闻的相关内容植入Google Spreadsheet,然后共享给其他参与翻译的团队成员,成员接到邮件后同步打开在线文档,选择自己感兴趣的内容进行翻译,然后将翻译好的文档再通过Google Docs共享给审校的人员,然后新闻就可以在InfoQ中文站上进行发布了。如果说没有Google的在线协同办公工具,还是依靠原来的邮件或者单纯的IM形式,效率会降低很多。

总结

综上所述,我所强调的内容基本是两点,第一是要借鉴敏捷方法中的精髓,将其思想应用到分布式团队的沟通之中,加强人与人之间的交流;第二则是在沟通的同时,也要注意合理地利用现有的技术,比如IM和在线协同工作平台,通过这些技术提高团队之间的沟通效率。希望这些经验能够对创业中的分布式团队起到一定的借鉴意义。

 

简析敏捷在分布式团队中的实践

什么是敏捷?简而言之,敏捷是一种新的软件开发的思想,通过迭代、结对编程、测试驱动等实践逐步完善对软件的开发,最终形成稳定的系统。与传统的软件开发相比,敏捷强调人与人之间的沟通,而不是通过文档。这儿可以...
  • futurelight
  • futurelight
  • 2007年09月27日 12:34
  • 3278

敏捷其实很简单(10)--自组织团队是怎样炼成的

前面几期用了很大一个篇幅来讲Scrum Master的工具箱,这是因为笔者本人曾经做过几年的SM,对这个职位可以说是感触颇深,而SM也是一个Scrum Team非常重要的一个角色,他可以保证团队始终走...
  • superkunkun
  • superkunkun
  • 2016年12月19日 22:16
  • 671

打造敏捷的自组织团队

敏捷思想的出现让我们看到了新的曙光——以更低的风险、更高的效率开发出更具质量的软件产品。正因如此,敏捷方法得到了业内足够的重视并使各路团队相拥实践。然而,即便我们对于各种敏捷原则、范式、方法和流程了如...
  • hzliyun
  • hzliyun
  • 2014年06月29日 16:49
  • 6626

Atlassian工具集和JIRA插件在敏捷项目管理中的应用实践

  • lm_soso
  • lm_soso
  • 2014年12月08日 22:21
  • 691

苍狼敏捷软件开发团队建设指南-1-团队模型

前言目的本团队建设指南的目的是帮助项目来定义和控制项目团队如何建立、如何运作来达成项目目标。 范围适用于项目团队人数少于等于25人的项目。 概要1.苍狼敏捷团队模型得到了描述,为项目团队组建提供了框架...
  • zhangmike
  • zhangmike
  • 2016年06月14日 15:29
  • 5613

敏捷软件开发:原则、模式与实践的学习笔记

第四部分   打包薪水支付案例20.包的设计原则 通常以包的形式,对应用程序从高层次进行组织。这里从两个方面考虑:一方面是根据什么指导原则把类划分到包中,另一方面是怎么处理包之间的相互关系。 包的粒度...
  • lindan1984
  • lindan1984
  • 2007年07月20日 13:02
  • 881

敏捷开发生态系统系列之二:敏捷生态系统-计划跟踪 I(跨职能团队-共同估算-每日立会-同行压力)

这是敏捷生态系统系列的第二篇(之一,之二,之三,之四,之五)。如果说需求管理中尚有一些团队无法控制的因素导致实施困难,计划与跟踪过程总归就没有问题了吧?其实不然,笔者见过领导很放权的全团(很多是因为领...
  • cheny_com
  • cheny_com
  • 2011年08月09日 14:48
  • 5303

敏捷测试的方法和实践 (上)

什么是敏捷测试呢?敏捷测试当然不能简单地理解测得更快,绝对不是比以前用更少时间进行测试,也不是将测试的范围缩小了或将质量降低来减少测试任务。也有人说,只有敏捷开发,没有敏捷测试。下面我们就要讨论一下:...
  • KerryZhu
  • KerryZhu
  • 2010年12月15日 21:32
  • 23421

【敏捷开发】什么是自组织团队?

什么是自组织团队? 作者 Sigi Kaltenecker and Peter Hundermark ,译者 夏雪 发布于 2014年11月14日 | 1 讨论 分享到:...
  • oMiconlee
  • oMiconlee
  • 2016年11月30日 14:21
  • 406

Spotify的大规模敏捷之路——使用一种新型的矩阵组织:部落、分队、分会和协会

原文:Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds  作者:Henrik Kniberg, Anders Ivar...
  • dj0379
  • dj0379
  • 2016年08月17日 10:45
  • 2219
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简析敏捷在分布式团队中的实践
举报原因:
原因补充:

(最多只允许输入30个字)