敏捷领军人物论和CMMI的关系
2018-11-13
来源:老丛讲桌 丛斌博士
由于CMMI模型错误的使用,使得很多CMMI企业内部参加评估项目的工程人员有一些痛苦的经验,造成业界对CMMI的价值产生怀疑。很多人把引入敏捷作为纠正CMMI错误的考虑,把二者看成水与火的关系。在“知行合一”一书的第三部分,我详细讨论了CMMI和敏捷开发模式结合的一些有效方法,论证了二者的互补性。这里我分享下敏捷领军人物对二者的关系的一些看法。
Ken Schwaber(Scrum的主要创建者之一)对CMMI看法的转变就很有代表性。相当长一段时间,Ken对CMM/CMMI的印象很不好,在他看来,CMMI在不确定的开发环境下,为产品开发设置了不必要的官僚障碍。CMMI企业都是建立了一套“死板、按方抓药、按步骤操作”的过程体系,像所有定义的方法一样,这样体系的致命伤是,它只能是对可提前正确预测的场景有效。而在软件开发中,很少会碰到一切都可预测的项目。随着Scrum的广泛应用,越来越多的人向他请教CMMI和Scrum的关系,他意识到有必要深入了解CMMI的核心理念。最好的方法是和CMM作者直接沟通。和Mark Paulk(CMM作者)沟通后,Ken回顾道“我十分吃惊,对CMM肃然起敬。”他第一次意识到,CMM/CMMI是一个是描述组织软件开发成熟的一个框架。用什么样的方法满足这个框架的要求,是组织可以根据具体情况来决定。评估小组就是要判断这个实现方式是否能满足框架的要求。敏捷可以是一个具体满足CMM的实现方法。更令Ken吃惊的是,Scrum可以满足CMM三级大部分项目相关的过程域的要求。而CMM几个组织级的过程域,也弥补了Scrum的不足。2003年以后,Scrum联盟的Scrum认证项目以及推出的一些Scrum方法工具,也可以帮助满足这些过程域的要求。
David Anderson(软件看板方法的创始人)正确的观察到“很多敏捷专家把CMMI和传统方法划等号,2002年以前,我就是这样认为的。现在我意识到传统方法实际是瀑布模式或V模型的模式。在我看来,CMMI是在敏捷和传统方法之上。可惜直到今天,很多人还不这样认为。”
Anderson在CMMI研究院年会上
Jeff Dalton(CMMI的主任评估师、敏捷领袖人物之一)写到:“我看到一些敏捷组织,在敏捷的名义下,不再执行过程同时也放弃了有价值的文档。他们的依据是敏捷宣言中有关开发出有效的代码优先于项目文档条目。宣言中的这一条,是希望能将关注天平从文档为中心的传统开发模式移开,很多人将其理解成不需要过程、不需要文档。在开发大而复杂的系统时,这样的理解会导致项目的失败。如果CMMI能和敏捷成功结合,它能够提供必要的基础建设,在保证敏捷迭代开发的前提下,有效支持将敏捷的应用向管理开发复杂系统扩展。令人诧异的另一件事是,所谓“敏捷组织”很少用敏捷方法设计推广它们的过程。”
Jeff Sutherland(另一位Scrum的创建人)近年来在CMMI和敏捷结合的实践中,做了很多工作。他为全球首个用Scrum方法实现CMMI五级要求的企业提供了咨询服务。在CMMI五级架构中,通过引入Scrum,这家企业在下列方面都降低了50%:缺陷数、返工量、整体必要工作和过程相关的投入。他认为CMMI和Scrum的结合是软件开发的一剂“灵丹妙药”。由于CMMI高成熟的组织有较强的能力管理变革并将变革成果制度化,所以这些企业从瀑布模式到敏捷模式的转换,会做得更快更好。对已经实施敏捷的企业,Jeff认为CMMI中的通用实践可以帮助敏捷实践制度化的落地改进,精益软件开发(lean software development)可以用来作为识别改进机会的一个操作工具。他对CMMI社区的建议是敏捷完全可以使用于CMMI框架,正确的结合是可以为企业带来令人兴奋的改进效果。CMMI高成熟企业能使组织引入敏捷变革的速度更快、更好。
Barry Boehm 建议应根据具体项目的特点(如失败的可能性对照进入市场的巨大压力)结合平衡计划驱动和敏捷的方式,已吸取两种方法的强项。Alistair Cockburn(Crystal(另一敏捷方法)的创始人)指出:“没有敏捷性的强执行力往往意味着官僚和僵化.没有执行力的敏捷则像是初期创业公司在盈利前没有控制的热情。”
在实际操作中,相对于开发工作,到底需要多少计划和架构工作才能最大程度的降低项目的风险?对这个问题,没有一目了然的答案,只能具体问题具体分析。同时引入CMMI和敏捷时,一定要考虑到团队内外的相互信任度、客户及终端用户的参与度、项目的范围及规模、预期的产品寿命、延期提交的代价、早期部分功能提交的价值及质量成本等因素。这两种范式的结合点在哪里?如何有效的将其结合?如何判断这种结合的有效性?如何形成一个适用于中国软件业的方法?这些是我们需要通过实践回答的问题。
CMMI的作者对CMMI的支持者、敏捷的支持者、整个软件业,提出了3点希望:
1. 认识对方的价值;
2. 抵制错误的偏见;
3. 不断学习实践,向业界报告有效的做法及相关场景。
中国软件业完全能通过自己的实践,找出一条让敏捷在中国有效落地之路。CMMI和敏捷的结合也许把中国软件发展带入一个新的境界。
推荐阅读
1.浅析CMMI2.0高成熟度
2.揭开CMMI2.0的面纱
3.是敏捷还是精益?
(本资讯于2017-11-12首次发布)
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-