软件测试中CMM软件过程改进—软件企业的BPR
关键词:能力成熟度模型(CMM, Capability Maturity Model) 业务流程再造(BPR ,Business Process Reengineering ) 业务流程 软件过程
摘要:通过比较CMM和BPR在目标、实施对象和实施流程等方面的相同点,得出一个结论:按照CMM进行的软件过程改进就是软件企业的BPR.
概述
CMM(能力成熟度模型)是质量管理理论与软件产业发展产物,它虽然不能解决软件开发的所有问题,但是它能帮助企业不断地改进软件过程,提高软件生产的能力和质量,属于一种质量管理体系。BPR(业务流程再造)是近年国外管理界在TQM(全面质量管理)、JIT(准时生产)、WORKFLOW(工作流管理)、WORKTEAM(团队管理)、标杆管理等一系列管理理论与实践全面展开并获得成功的基础上产生的,它是通过改进和重建企业的业务流程,以提高企业的生产能力和产品质量。二者有着本质的联系。
一致的目标
CMM由若干个KPA(关键过程域)组成,每个KPA都有自己的目标,但是总的目标就是:评估企业本身的软件过程以便改进软件过程,提高软件生产能力和质量,以满足顾客的需要。
BPR的目标就是:识别企业的业务流程,不断优化业务流程,减少非增值流程,使全体员工以顾客为中心,最大限度地满足顾客的需要。
软件企业和其他企业一样,都必须要满足顾客的需要才能够获取利润,而满足顾客需要无非就是提高产品质量和服务质量,CMM和BPR的核心还是在质量管理,因此,它们目标是完全一致的。
一致的实施对象
CMM软件过程改进的实施对象就是软件企业的软件过程,也就是软件产品的生产过程,当然也包括软件维护之类的维护过程,而对于其他的过程并不关注。BPR却是指企业的所有业务流程,也就是说,如果在一个软件企业实施BPR,它所关注并不只有软件过程,而应该包括销售、采购、储运、技术支持、人事行政等许多的业务流程。因此,从严格意义上讲,BPR的实施对象包括了CMM的实施对象,前者远远大于后者。
但是,对于软件企业来说,软件过程是整个企业最复杂、最重要的业务流程,软件产品就是软件企业的生命,改进整个企业的业务流程,最重要的还是要改进它的软件过程。多年以来,人们认识到要想高效率、高质量和低成本地开发软件,必须以改善软件生产过程为中心,全面开展软件工程和质量管理手段。这是世界各国软件产业都要走的路,我国软件产业之所以落后,不是因为技术落后,而是对软件生产的管理落后。CMM就是结合了质量管理和软件工程的双重经验而制定的一套针对软件生产过程的规范。由此可见,对软件生产过程的管理在整个软件企业的管理中起了决定性作用。因此,从这种意义上讲,软件企业的BPR和CMM软件过程改进在实施对象是一致的。
一致的实施流程
BPR的实施是没有分级别的,而CMM的实施则是按照由低到高的级别逐级实施的,但是无论它到哪一级,都是按照同一个流程进行的。也就是先对企业自身的软件过程进行评估,对照CMM标准找出其优势和薄弱环节,再提出改进计划,由机构的高层评审批准后实施,也就是针对薄弱环节进行改进。这是一个不断循环的过程,软件过程在不断的循环中得到持续的改进。如下图所示:
而BPR的实施流程业有异曲同工之妙。首先通过对企业业务流程大量的调查和分析,找出企业现有流程的弊端,设计出新的流程,模拟新流程进行评估测试,如果可行,则实施新的流程,否则重新分析设计。这也是一个不断循环的过程,企业的业务流程在循环中不断被优化。如下图所示:
CMM软件过程改进和BPR在实施的流程都遵循着“找出问题——〉得到解决方案——〉评估解决方案——〉实施”这样一个流程,而且这个流程是不断循环的,因此业务流程的改进也是持续不断的,同时,两者在一定时期内又是相对稳定的。总之,它们在实施流程上存在着一致性。只不过,CMM为软件开发的业务流程改进提供了一个固定的模型,而BPR则是因企业而异的,覆盖范围更广,灵活性更大。
结论CMM软件过程改进和BPR在目标、实施对象和流程等方面的一致性,体现了这两种管理思想具有一致性,同样都是面向过程的管理,而CMM更具可操作性、成功率更高。目前,CMM暂时仅仅在软件行业有很好的应用, 以后也许能推广到其他行业。