转子泵 展览搭建 洗地机 金属激光切割机 套标机 MBA学位 旅游策划 杭州代理记账 淋浴房厂家 发电机 压力传感器 涂覆机 耐火窗 污泥处理 醋酸钠
咨询电话:15358169580/025-86200639
新闻资讯
在线客服
 工作时间
周一至周五 :8:30-17:30
周六至周日 :9:00-17:00

CMMI或敏捷:何不互相拥抱

192

敏捷开发方法和CMMI最佳实践经常被人们认为是互相抵触的。如果这种观念以及引起这些观念的原因不能解释清楚,我们将在具体实施这些方法的过程中遇到更多的困惑和冲突。此外,CMMI和敏捷两种方法都蕴含了很多良好的软件开发的基本原则,然而这些原则却经常被另一方所忽视。实际上,无论CMMI还是敏捷,所有这些知识和方法本身对软件项目的成功都很重要。从长远的眼光来看,这些“不和谐”的存在,对软件工程行业的健康发展造成不利影响。

我们相信敏捷和CMMI阵营存在争议的最主要原因是以下两点:

(1)早期采用CMMI和敏捷方法的案例分别代表了各自比较极端的情况。早期的CMMI面向的是大型的、不愿承担任何风险的、肩负重要使命的项目。项目经常直接在高等级管理者的分层监督和管理下进行。相反,早期敏捷方法通常关注小型、需求不稳定、单一团队开发的“纯”软件项目。

(2)关于CMMI和敏捷的不准确(甚至是错误)的信息和对两种方法的一些“误用”,导致了两大阵营对彼此做法产生了错误认识。这种负面的理解使CMMI和敏捷之间不断争吵,究其原因,这些问题中的大多数是由以下因素引起的:

a. 误用——从CMM到CMMI,20多年的经验,然而一些实践却经常被错误使用,或者被应用(也就是“覆盖”应用,在原本已经有效的活动上叠加运用)到那些已经对开发活动有深入理解,且已经富有成效的开发团队上。

b. 缺乏准确的信息——在敏捷社区和CMMI社区里都缺乏彼此正确理解对方的准确信息。

c. 术语困难——CMMI术语(如纪律、质量保证和可预测性等),敏捷方法中的术语(如持续集成、测试驱动开发和共有代码所有权等),经常具有上下文关联的含义,很容易被错误的理解和滥用;

d. “自顶向下”相对“自底向上”的改进方法——新方法的引入的过程中, “一个声音”的支持程度往往超过“另一个声音”(例如,管理者的声音和参与/执行者的声音),然而,无论哪个声音,都经常忽略了另一个“更重要的声音”,那就是“怎样能使业务运行的更有效?

很多情况下,这些误解与对CMMI和敏捷的误用有关系,但是有时这些误解也是由于缺少准确的信息造成的。另外,对观念和经验上的长期固有信条的坚持,也是造成误解的原因之一,这种情况和CMMI、敏捷两种方法都没有关系。

敏捷社区对CMMI的一些误解来源于CMM的一些特征,目前这些特征已经不属于CMMI了。CMMI包含了许多改进并由此和CMM之间存在着区别,CMM中的内容自1993年以来就没有更新过了(实际上,包含了一些改进方法的未完成的CMM稿件版本2,是在1997年被创建的,但是这些内容从来没有被正式发布过,而是作为了CMMI初始文档的一部分加以利用),例如CMMI中,更加关注风险管理、集成化团队和工作环境,而减少了项目启动所需要的固定必备条件和做事情要“依据文档化的程序”等方面的关注。敏捷社区的部分人使用CMM的概念来评判CMMI是不公平的。比如把成熟度等级2的目标说成是产生“可重复使用的过程”,这种不正确的观点一直沿用到今天。近来在CMMI相关的网络坛中,一些参与者已经承认并不像他们了解CMM一样了解CMMI。

更麻烦的问题是,有一些CMM的用户从来没有更新到CMMI,并且坚持使用那些相对于更新后的CMMI模型来说,在软件和系统开发过程中缺少灵活性的观点;某些早期的CMM用户,虽然更新到CMMI,但是还在固守CMM中一些过时的观点。

另一个重要的因素是,实施者们经常把那些实际上没有遵循CMMI或敏捷原则的活动贴上CMMI或敏捷的“标签”,出现这种情况都源自于对CMMI和敏捷的负面理解。

现在,我们已经认识到CMMI和敏捷能够在一起成功使用。





文章分类: 行业信息
分享到:
树脂排水沟 锅炉除尘器 喷码机