没有匹配开发过程支持的Scrum只是个花架子

没有匹配开发过程支持的Scrum只是个花架子

很多人其实没有意识到Scrum不是一个真正的软件开发过程,它更像是一个软件开发过程的盒子。Scrum并没有定义任何核心的软件开发实践,但如果这个盒子里的东西还是原来瀑布环境下的工程开发过程或是因人而异的随机过程,那么Scrum几乎不可能成功。  

 Scrum不是实现敏捷转型的唯一方式,但如果选择它,那么必须设置与之匹配的开发过程。注意,我用的词是必须!可惜这个至关重要的路径被许多敏捷教练和敏捷组织忽略了,后果是什么不用说也知道。

    一些Scrum Master或敏捷教练不关注开发实践,仅仅求快以彰显“敏捷”效果,同时又要求开发人员毫无目的地参与到各种充斥仪式感的活动中,硬凑故事,却不考虑调整与之匹配的产品规划、需求、设计、开发、测试等文档和过程,结果是开发人员用在开发上的时间更少了。可以说开发人员是敏捷转型收益最少的群体,难怪Ron Jeffries(敏捷宣言作者之一)最近提出“开发人员应该放弃敏捷– Developers should abandon Agile”,去追求符合敏捷软件开发原则的有效实践。  

  Scrum市场化的成功为敏捷成为主流软件开发模式起到了重要作用,但也带来了一些问题。不少人把敏捷和Scrum画上了等号,而忽略了敏捷宣言的精髓。许多敏捷宣言作者都意识到了这个问题,Alistair Cockburn(另一位宣言作者)最近指出,Scrum不是敏捷的缔造者,有17个人参与其中,他们经验丰富,有着不同的背景和各自的敏捷渊源”。

CMMI认证 

为了真正理解敏捷初衷,非常有必要回顾一下17位敏捷宣言作者雪鸟城峰会前的敏捷历史。敏捷宣言是17位几乎是默默无闻的勇敢创新者的经验共识。CMMI认证

  Dave ThomasAndy Hunt,还有Brian Marick代表Pragmatic Programming, 这三位是多年实实在在的敏捷实践者,虽然这几位对敏捷宣言这几年的实践感到失望。 

   Arie van Bennekum是欧洲DSDM社区的代表,Jon Kern带来了 FDD圈子的经验,Alistair Cockburn 带来了Crystal方法。James Grenning 好像不属于任何流派,他是real-time系统方面的专家。  

  Jim Highsmith绝对是一位卓越的敏捷领军人物,他提议的“Adaptive Software Development” 给敏捷大大提高了一个档次。他写的“敏捷项目管理”一书,一直被我用作项目管理课程的教材。  

  Kent BeckExtreme ProgrammingXP)应该是当时主导的敏捷方法,除了Beck外,Ward Cunningham, Ron JeffriesBob Martin Martin Fowler也都是XP的实践者。当然Bob大叔也是CraftClean Code)提倡者。  

  Scrum有三位代表,Ken Schwaber, Jeff SutherlandMike Beedle。现在Scrum独霸天下,当时知道的人非常有限,根本无法和XP相比。当年17人中,只有Kent Beck属于明星级人物,可惜由于XP技术性太强,而他忽略了搞些认证培训,导致在数年后被Scrum远远甩下。CMMI认证)

CMMI认证 

XP和Scrum使用趋势图

 有意思的是,在诸多敏捷流派中,Scrum是唯一没有包含任何工程实践的方法。(这恐怕也是许多没有被软件开发折磨过的人照样可以做敏捷教练的原因)可见除了管理框架外,大多数敏捷宣言作者更关注实实在在的敏捷工程实践,抛开工程开发实践的敏捷是没有坚实基础的。

在我几年前写的“知行合一,价值驱动的敏捷和精益开发“一书中,我提出XPScrum的最佳搭档,它的12条实践可以弥补Scrum的缺失和其通过Sprint获取反馈,快速迭代交付的目的相辅相成。形神兼具的Scrum需要匹配的工程过程,XP+ Scrum完美体现什么是1+ 1 > 2。书中1/4的篇幅用来讨论敏捷环境下的工程和质量控制实践。近年来CI/CD,微服务架构,DevOps等实践,都可以成为Scrum的驱动器。

成功的Scrum都在其框架下融入了相适应、本地化的工程和质量控制活动,成功的敏捷和CMMI结合通过其系统层面的工程和质量控制,让CMMI成为Scrum的安全网。

  最后希望软件组织在推动Scrum时,不要忘了在这个盒子里放入适用的开发过程,不要将其和Scrum隔离,你不一定选择XP,但它应该适配你的Scrum,你的具体场景。Scrum有个Master,产品有个Owner,千万不要忘记通过开发过程给开发人员赋能。

 

 

来源老丛讲桌


点击关闭
  • CMMI认证客服

    CMMI3认证客服

    CMMI咨询

    CMMI4认证