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

Posted 老丛讲桌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有匹配开发过程支持的Scrum只是个花架子相关的知识,希望对你有一定的参考价值。

     很多人其实没有意识到Scrum不是一个真正的软件开发过程,它更像是一个软件开发过程的盒子。Scrum并没有定义任何核心的软件开发实践,但如果这个盒子里的东西还是原来瀑布环境下的工程开发过程或是因人而异的随机过程,那么Scrum几乎不可能成功。
    Scrum不是实现敏捷转型的唯一方式,但如果选择它,那么必须设置与之匹配的开发过程。注意,我用的词是必须!可惜这个至关重要的路径被许多敏捷教练和敏捷组织忽略了,后果是什么不用说也知道。
    一些Scrum Master或敏捷教练不关注开发实践,仅仅求快以彰显“敏捷”效果,同时又要求开发人员毫无目的地参与到各种充斥仪式感的活动中,硬凑故事,却不考虑调整与之匹配的产品规划、需求、设计、开发、测试等文档和过程,结果是开发人员用在开发上的时间更少了。可以说开发人员是敏捷转型收益最少的群体,难怪Ron Jeffries(敏捷宣言作者之一)最近提出“开发人员应该放弃敏捷– Developers should abandon Agile”,去追求符合敏捷软件开发原则的有效实践。
    Scrum市场化的成功为敏捷成为主流软件开发模式起到了重要作用,但也带来了一些问题。不少人把敏捷和Scrum画上了等号,而忽略了敏捷宣言的精髓。许多敏捷宣言作者都意识到了这个问题,Alistair Cockburn(另一位宣言作者)最近指出,“Scrum不是敏捷的缔造者,有17个人参与其中,他们经验丰富,有着不同的背景和各自的敏捷渊源”。


    为了真正理解敏捷初衷,非常有必要回顾一下 17 位敏捷宣言作者雪鸟城峰会前的敏捷历史。敏捷宣言是 17 位几乎是默默无闻的勇敢创新者的经验共识。
  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 Programming(XP)应该是当时主导的敏捷方法,除了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远远甩下。

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

 XP和Scrum使用趋势图


     有意思的是,在诸多敏捷流派中,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,千万不要忘记通过开发过程给开发人员赋能。
 

推荐阅读

1. 
2. 
3. 
4. 
5. 
6. 

三尺讲桌就在这小小二维码,长按二维码“识别”关注 


以上是关于没有匹配开发过程支持的Scrum只是个花架子的主要内容,如果未能解决你的问题,请参考以下文章

不要再自作多情,2020版Scrum框架和软件研发没有关系,甚至和IT都没有关系

海尔水盒子项目竞标过程总结

知识共享 主流敏捷开发方法介绍:Scrum与极限编程(XP)

敏捷开发快速入门:Scrum开发流程

简述scrum过程

敏捷开发的 4 个误区,你了解一下