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

原创 2007年09月27日 12:34: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和在线协同工作平台,通过这些技术提高团队之间的沟通效率。希望这些经验能够对创业中的分布式团队起到一定的借鉴意义。


免费迷你书下载:领域驱动设计精简版

免费迷你书下载:OSWorkflow中文手册

免费迷你书下载:Visual Studio .NET使用技巧手册

视频:孟岩谈深入理解SOA和Enterprise Web 2.0

独立测试团队在敏捷开发中的几个特别实践

[原文发表在https://hespr.blogspot.jp/2009/03/blog-post.html 写在2009年3月 最近发现被人盗版了多处, 重新发布在CSDN]最近读了《我和敏捷团队...

DevSuite大团队敏捷研发实践

  • 2011年07月18日 22:33
  • 4.71MB
  • 下载

从《敏捷软件开发原则、模式与实践》看待现当前开发团队现状(持续更新)

今天刚开始读Martin的敏捷软件开发,

流程, 敏捷实践 (框架), 团队成员的三边关系

流程是轨道, 敏捷实践 (框架) 是行驶在这轨道上的火车, 团队成员便乘著这列火车, 迈向版本交付的终点◦...

团队敏捷实践:迭代计划会议

迭代计划会议(不超过1个小时) 1.   需求人员与测试人员对将要到来的迭代的故事进行精化,添加验收条件,并对验收点着重表现。每一个故事进行冻结。(提前准备) 2.   迭代计划会在每个迭代的第一...

移动团队交叉双迭代的敏捷实践

作为移动开发团队,对“快”这个字看得尤其重要。本文总结了在团队中采用的交叉双迭代模型的实践经验,希望以此引玉,共同探索开发过程改进,打造高效团队。...

支撑分布式 Scrum 团队的 5 项最佳实践

分布式 Scrum 从来都不是容易的事情。 Scrum 的基石--透明,开放,自组织-对于分布式团队实践来说很困难。沟通和合作不会是有机的,并且团队建设是更困难的。但是,对许多公司节约成本的影响意味...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简析敏捷在分布式团队中的实践
举报原因:
原因补充:

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