其他几个选项得票率均在 8% 以下,排名依次为:Custom/hybrid, Don't know, AgileUP, Other, FDD, Lean, DSDM, OpenUP, Agile Modeling, Crystal 等。我觉得漏掉了 MSF For Agile,今后应该补上。
采用 Scrum 加 Scrum/XP 的超过了 70%,占绝对优势,可见 Scrum 和 XP 的知名度与影响力,而在普及程度上 Scrum 比 XP 更胜一筹。这说明,大家在实施敏捷改进的时候,Scrum 和 XP 是很好的参考框架和模型,不管最终能否用得上,都应当认真研究和学习,属于必修课。
Scrum 和 XP 都不全面
如何理解这些民调数据?实际上,作为过程方法 Scrum 和 XP 都是不完整、不全面的,在实际的软件项目管理和开发中不能单独采用。Scrum 是一个轻量级的敏捷项目管理框架,框架则意味着它本身是一个半成品(半熟的),在实践中我们还需要开动自己的大脑添加更多其他的东西,需要在敏捷价值观和原则的指导下,把 Scrum 与其他方法,包括行之有效的传统方法,结合起来运用。
对于国内的敏捷改进,我通常向客户推荐的一种方案是:IID + Scrum + UP + XP + X,也就是一种先打碎,然后混合、融合、集成的方案。作为太极敏捷思想方法的倡导者,我个人历来倾向于 process mashup, integration, synergy, unification 或 hybrid 方案,主张兼收并蓄、融会贯通。相信很多人会和我有类似的看法,这么做有很多好处。其实没有哪一种方法、模型、标准能够包打天下,CMM/CMMI 不行,RUP 不行,Scrum、XP 当然也不行。
IID 代表迭代递增式开发,已有超过 40 多年的发展历史,是 Scrum、UP、XP 等当代敏捷方法所共有的前身和基础。我把 IID 单独拿出来,是为了引起大家的注意,敏捷改进最好先从 IID 做起。
为什么 Scrum 远比 XP 更流行?
在过去几年当中,国内 XP 的知名度可以说远高于 Scrum,某些媒体、企业和个人都对之大加赞赏、竭力宣传。人们在 XP 宣传上的投入也曾经远大于 Scrum,这导致很多人都误以为:敏捷 = XP。因此,可能很多人看到这些数据,会感到意外,怎么 Scrum 后来居上,XP 反而叫好不叫座,为什么会有这种反差?
这背后的原因,不同的人有不同的解读。我想,这可能与专家们的努力,相关企业和组织的 marketing,是否采用了认证方式等等外在因素与内在因素有关。
张恂认为,XP 的普及程度明显不如 Scrum,可以用太极敏捷思想的极限法则来解释:越极限、越极端的东西,其适用面往往越小,这大概就是 XP 不如 Scrum 的内在原因。实际上,我们发现成功采用 XP 的前提条件、适用条件比 Scrum 更严格,XP 对于某些工程做法的规定更具体,诸如 TDD(测试驱动开发)、PP(结对编程)、CI(持续集成)等做法的效果到底怎么样在国内外科学工程界也一直存在着不少争议,当然 TDD、PP、CI 等做法并不是成功的敏捷实施所必需的(尽管某些企业和个人,出于自身利益的考虑,强烈迫使您坚信这一点),这些因素都可能限制、约束了它的发展。
Scrum 只保留了敏捷项目开发的一个最小的 IID(迭代递增式开发)管理框架,没有对具体的工程做法(比方如何做设计,如何编程,如何测试等等)作硬性规定,这样就给它带来了很大的灵活性和可扩展性,便于和其他方法结合,这正是 Scrum 的聪明之处。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/