什么是敏捷?毫无用处的理论问题还是取得成功的必要澄清?

  • Amr Elssamadisy
  • 张晓庆

2010 年 5 月 24 日

话题:敏捷文化 & 方法

使用你喜爱的浏览器做一次快速搜索,查找“敏捷软件开发”相关的文章,返回的结果大相径庭。如果你经验丰富,很容易分辨出哪些重要,从而择优弃劣。但对新手来说,很容易挑花眼,从很多文章中选(随机 / 根据出版社 / 根据作者)一篇就开始了解敏捷。这样做好还是不好?还是作者着急赶在这周一就得交稿?

这是笔者发现的一些有趣的事情:

Scott Ambler 有一篇关于敏捷软件开发生命周期模型的文章,看上去混合了敏捷和统一过程(UP)。Scott 在 IBM 工作,在社区内赫赫有名,所以敏捷新手会觉得这篇文章来源可靠,值得信任。文章首先介绍了我们都熟悉的 Scrum 模型,然后谈到了更“现实的模型”,最终变成了统一过程的一个修改版。统一过程和敏捷是兼容的,但是它应该包含在定义“敏捷软件开发生命周期”的文章中吗?

Michael Hugos 在 CIO 杂志的一篇文章介绍了敏捷开发。根据这篇文章及其引用的资料,一个迭代应该包含 2 天时间来定义解决方案,7 天来设计系统,13 天来构建系统(正好一个月 22 天工作时间)。顺便说一下, 站立会议上问这 5 个简单的问题就行了:

  1. 有没有任何任务的范围发生了变化?(是 / 否)
  2. 是否会错过任何重大活动或者里程碑?(是 / 否)
  3. 团队是否需要一些外部的技能或专业知识?(是 / 否)
  4. 有没有尚未解决的技术问题?(是 / 否)
  5. 有没有尚未解决的用户评审问题?(是 / 否)

任何一个问题回答“是”,需要解释这个问题,并给出可能的解决方案。

还有,依据 Forrester 的这篇报告,敏捷和工具有关。所以工具相当重要,IBM 和 MKS 好像在工具上处于领先位置,这就意味着我们可以向他们咨询敏捷。

到底什么是敏捷,什么是敏捷社区?Chris Matt's 好像认为敏捷是被弄坏的学习机器。不幸的是,这根本搜不出来。是不是敏捷新手只会用搜索工具?或许不是,但是这些文章都来自于 CIO、IBM 和 Forrester 等,光看名字就让人起敬。

好了,这篇报道是不是在白费力气呢?可能是,不过也可能不是。可能搞清楚什么是敏捷得需要更多的时间──敏捷宣言至今已经 10 年了。假如我们搞不清楚,我们得给这个神奇的学习社区换一个新单词了,谁在定义敏捷,就把敏捷软件开发这玩意儿留给他们吧。

查看原文:What IS Agile? A Useless Theoretical Question or Necessary Clarity for Success?

敏捷文化 & 方法