CMM(Capability Maturity Model for Software,软件过程能力成熟度模型)的基本思想是基于已有60多年历史的产品质量原理。但Philip
Crosby将质量原理转变为能力成熟度框架,他在著作《Quality is Free》中提出了“质量管理成熟度网络”,描绘了进行质量实践时的5个进化阶段。随后,IBM公司的Rom
Radice及其同事在Watts Humphrey指导下对该框架进行了改进以适应软件过程的需要。1986年,Watts Humphrey将此成熟框架带到了SEI并增加了成熟度等级的概念,后来又将这些原理应用于软件开发,发展成为软件过程能力成熟度框架,形成了当前软件产业界正在使用的CMM框架。
CMM与“持续改进”
企业最终目的是把自己的产品或服务提供给客户,让客户满意,所以只有尽力使这个过程不断反复且能够不断壮大,才能源源不断地创造利润。因此,我们应该明白以下几点:
● 企业的使命是为客户创造价值,因而只有努力地为客户创造价值,企业才能获得成功。
● 能为客户带来价值的是企业的各种作业,而作业是由一系列能为客户创造价值的活动组成,每项活动都由员工完成。但是,各种活动本身对客户毫无意义,客户关心的是这些活动的结果。因此,出于对客户利益的考虑,作业的构造要努力做到“复杂其中,简便其表”。
● 优质的产品或服务、杰出的人才和优秀的战略对企业来说必不可少,但并不能保证企业的成功,因为产品或服务、人才和战略只有存在于能为客户带来价值的各种作业之中,才能对企业的成功有所贡献。
● 优异的作业绩效是通过科学的作业设计、适当的人员配置和良好的工作环境的共同作用实现的。科学的作业设计能够快速应对客户的需求变化;适当的人员组合能获得集体智慧和战斗力;良好的环境则能激发员工的工作热情,促使员工不断超越自我。
由上面四点可以看出,软件企业的成功来自优异的软件开发过程,而优异的软件开发过程需要按以上要求进行管理。因此,我们可以认为,CMM模型实质上是一种新兴的管理思想和方法,它蕴涵了当今欧美和日本日趋盛行的“持续改进(Continuos
Improvement)”管理思想。
“持续改进”的含义是:以超前的视野预见过程实施中可能遇到的要素(包括特定的设计、作业方式以及与之相关联的成本要素),并借助先期规范制约的各种手段进行预期调整,同时结合相应的效果计量和评估方法,确保实际过程以预期的低成本运作。着眼于软件过程的CMM模型是持续改进的表现,模型中蕴涵的思想就是防止项目失败的思想,也就是我们所说的“持续改进”。
如何改进?
虽然软件工程师和管理人员通常都非常详尽地知道问题的症结,但是,究竟哪些改进是当前最需要的?他们可能各有看法。另一方面,如果缺乏既定的改进策略,管理人员和软件工程师们在首先采取哪些改进措施的问题上将很难达成一致。人们经过深入的调查和研究,终于认识到,软件过程的改进不可能一朝一夕就获得成功,而是需要持续不断地进行改进。软件过程改进是在一系列微小、不断发展的过程而不是革命性的创新步骤中实现的。这正是持续改进思想的体现。
为什么要进行持续改进?因为当同类事物之间存在着微小的差异时就会产生变异。当一个过程或系统的资源存在着变异时,相应的系统输出也会有变异。例如,当原材料或所制造的部件质量有偏差时,最终产品的质量也会发生变化。正所谓“进废品,出废品”。所以,研究持续改进,就需要关注系统所使用资源的变异性以及所采用生产过程的变异性。
一般来说,任何系统都会表现出变异性,虽然这种变异并不一定意味着系统不稳定、质量低劣或成本偏高,但是太多或反常的变异则表明系统不稳定——其输出的质量是不一致或不可预知的。对任何一家公司来说,这种现象都是一种危险的信号,因为不稳定的质量将会影响客户的满意度。要保持客户的满意,必须改进产品质量、降低产品的成本、增强产品的营销水平;而要改进质量、降低成本、增强营销水平,又必须减少系统的变异。研究持续改进过程就是明确系统中的变异在哪里发生以及为什么发生。一旦了解到引起变异的原因,就可以寻找一些方法去减少这种变异,以稳定企业的运行过程,使企业得到持续发展。
通常,进行持续改进需要遵循以下步骤:
1.持续改进循环
如果只解决一个小问题或稍微改变一下具体过程,而后就置之不理直到问题出现,这是远远不够的。正如“持续改进”这一名称所暗示的:必须不断地进行改进。持续改进意味着时常对系统进行分析,一丝不苟地收集数据并加以研究;一丝不苟地测试偏差,每位公司员工都把持续改进作为其工作的一部分看待。持续改进应该被视为一个循环,参与持续改进的各团队需要长期连续地在这个循环中活动。也就是说,当一个问题看来已经解决时,员工的参与也不能终止,还有新的改进要实施、新的系统要分析、新的创意需要研究。整个持续改进循环如下图所示。
2.强化过程改进
接下来的步骤是使实施的变革成为系统的一个标准组成部分。团队应该制定出一份简单报告,说明测试过程中的新规则以及所做改进对系统的影响。报告要列出变革后的优点,包括新系统的实施和维护计划,以确定新系统是否能达到新的绩效水平。如果团队的建议被管理者接受并付诸实施,则团队需要按照计划监视系统的运作。
3.持续改进循环
当你确信新的过程得到强化并成为工作过程的一个自然组成部分后,就要准备开始下一个持续改进循环。你应该从分析系统开始,因为上一循环的变革可能已经改变。
4.总结经验
企业的生存取决于它是否具有给客户提供良好服务的能力,并且应该超越同行业的其他企业。通过更快地响应客户需求、提供更高质量的服务,企业就能够持续地生存下去。一旦企业进入持续改进循环,就将拥有更好的信息、更新鲜的创意、更好的过程和质量控制,企业将达到梦想的“意想不到的高水平绩效”。
结束语
“持续改进”这一新兴的管理思想和方法目前在国内基本上还没有专门的研究和应用,但在国外,自20世纪90年代以来,已经有许多学者开始深入地研究它,特别是哈佛大学的青年学者Cooper和Kaplan对“持续改进”进行了系统的研究和完善。事实上,“持续改进”与JIT(just-in-time)、企业再造(business
re-engineer)和目标成本管理等管理思想类似,强调用数据或函数来衡量和监测企业的整个过程,让企业的管理者清澈见底地知道企业的业务运作过程,从而有效地管理企业。
尽管CMM模型纯粹来自软件工程领域,并为软件机构服务,但CMM模型所体现的思想实际上就是“持续改进”。例如,CMM模型中的最高级——优化级,就是要求要清楚地看到软件过程、连续不断地改进过程,并定量地跟踪变化所带来的影响和效果。因此,如果我们能超越CMM模型,不仅仅把CMM模型看成是为软件工程服务,那么我们就可以把CMM模型的思想运用到软件机构的供应、生产、销售等其他非研发过程中去。
|