CMM/CMMI在软件开发中的局限性分析

需积分: 0 0 下载量 143 浏览量 更新于2024-08-05 收藏 134KB PDF 举报
CMM/CMMI在软件项目中的局限性 CMM/CMMI是一种软件能力成熟度模型,旨在帮助软件开发公司评估和改善软件开发过程,但是在实际应用中,CMM/CMMI存在一些局限性,以下是其中的一些。 1. 淡化软件项目的独特性 CMM/CMMI的一个主要问题是它淡化了软件项目的独特性,让人产生一种错觉:软件是有严格规格的工业产品,在标准流程下,从一端输入原材料,在另一端获取软件产品。然而,在市场压力下,这种软件的标准化、规格化变得越来越不可能存在。 1.1 不是所有的项目都是外包项目 CMM/CMMI实际是为评估软件公司对软件标案的承接及执行能力而产生的,它更像是安抚买家的安慰剂与赢得合同的催化剂,对于外包公司,当甲方项目需求类似(如某乙方公司只做财务类系统),CMM/CMMI或许是有效的。然而,有很多公司不是外包公司而且有越来越多的公司成立自己的研发部门,这些公司只研发自己的产品、开发自己的需求,在市场压力下,这些需求场景越来越多样化、这些挑战越来越大,当他们应对这些场景与挑战时,CMM/CMMI还会是有效的吗?不会。 1.2 过度渴望一致性 CMM/CMMI渴望一致性或者说保持稳定而平庸。这就像音频压缩算法,可以除去峰值,但是音乐中也就没有了高音与低音的美妙。在组织层级上要求A+等级的团队与C等级的团队保持一致,这对A+等级的团队或个人是极不公平的,这只表现出色、才华横溢的团队并没有受到表彰与推崇,反而为了流程受到排斥与限制,他们会对这种管理反感或许他们也会变得平庸。 2. 与敏捷方法冲突 CMM/CMMI与敏捷方法冲突是因为CMM/CMMI强调流程的标准化和规格化,而敏捷方法强调快速响应和适应性。这两种方法的理念不同,CMM/CMMI更适合大型软件开发项目,而敏捷方法更适合小型软件开发项目或具有快速响应和适应性的项目。 CMM/CMMI在软件项目中的局限性主要体现在淡化软件项目的独特性、过度渴望一致性和与敏捷方法冲突等方面。因此,在选择软件开发方法时,需要考虑项目的特点和需求,选择合适的方法来确保项目的成功。