使用你喜爱的浏览器做一次快速搜索,查找“敏捷软件开发”相关的文章,返回的结果大相径庭。如果你经验丰富,很容易分辨出哪些重要,从而择优弃劣。但对新手来说,很容易挑花眼,从很多文章中选(随机/ 根据出版社/ 根据作者)一篇就开始了解敏捷。这样做好还是不好?还是作者着急赶在这周一就得交稿?
这是笔者发现的一些有趣的事情:
Scott Ambler 有一篇关于敏捷软件开发生命周期模型的文章,看上去混合了敏捷和统一过程(UP)。Scott 在IBM 工作,在社区内赫赫有名,所以敏捷新手会觉得这篇文章来源可靠,值得信任。文章首先介绍了我们都熟悉的Scrum 模型,然后谈到了更“现实的模型”,最终变成了统一过程的一个修改版。统一过程和敏捷是兼容的,但是它应该包含在定义“敏捷软件开发生命周期”的文章中吗?
Michael Hugos 在 CIO 杂志的一篇文章介绍了敏捷开发。根据这篇文章及其引用的资料,一个迭代应该包含 2 天时间来定义解决方案,7 天来设计系统,13 天来构建系统(正好一个月 22 天工作时间)。顺便说一下, 站立会议上问这 5 个简单的问题就行了:
- 有没有任何任务的范围发生了变化?(是 / 否)
- 是否会错过任何重大活动或者里程碑?(是 / 否)
- 团队是否需要一些外部的技能或专业知识?(是 / 否)
- 有没有尚未解决的技术问题?(是 / 否)
- 有没有尚未解决的用户评审问题?(是 / 否)
任何一个问题回答“是”,需要解释这个问题,并给出可能的解决方案。
还有,依据Forrester 的这篇报告,敏捷和工具有关。所以工具相当重要,IBM 和MKS 好像在工具上处于领先位置,这就意味着我们可以向他们咨询敏捷。
到底什么是敏捷,什么是敏捷社区?Chris Matt’s 好像认为敏捷是被弄坏的学习机器。不幸的是,这根本搜不出来。是不是敏捷新手只会用搜索工具?或许不是,但是这些文章都来自于CIO、IBM 和Forrester 等,光看名字就让人起敬。
好了,这篇报道是不是在白费力气呢?可能是,不过也可能不是。可能搞清楚什么是敏捷得需要更多的时间──敏捷宣言至今已经10 年了。假如我们搞不清楚,我们得给这个神奇的学习社区换一个新单词了,谁在定义敏捷,就把敏捷软件开发这玩意儿留给他们吧。
查看原文: What IS Agile? A Useless Theoretical Question or Necessary Clarity for Success?
评论