基于CMMI模型的过程改进
2018-10-13赵海龙
赵海龙
文摘:本文首先介绍了过程改进的概念和实施过程改进常用的几种方法,然后对CMMI模型做了简要的说明,最后针对人们在阅读CMMI模型过程中可能遇到的一些问题和困惑做了较为详细的阐述。本文不仅使读者对过程改进有了一个全面的了解,而且对深入理解CMMI模型本身也具有较高的参考价值。
关键词:能力成熟度模型集成;过程改进;工作流管理
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)44-0096-02
一、引言
众所周知,一个企业或项目的成功离不开过程、人员和技术,过程作为粘合剂把人员和技术紧密地联系在一起,产品的质量在很大程度上取决于用以开发和维护该产品的过程的质量。
本文第二部分介绍了过程改进的基本概念和实施过程改进常用的几种方法;第三部分对能力成熟度集成模型(Capability Maturity Model Integration,CMMI)做了说明;第四部分对CMMI中的一些概念和术语进行较详细的解释。
二、过程改进的概念及方法
按照IEEE的定义,过程是指为了达到给定目标而执行的一系列步骤。过程改进是指过程的拥有者为了使组织达到新的目标而采取的一系列的活动,这些活动包括对组织内部的现存过程进行标识、分析和改进。组织进行过程改进的目标通常是提高质量、提高生产率以及降低生产/开发成本等。常见的过程改进方法有以下几类。
1.业务流程重组。业务流程重组(Business Process Reengineering,简称BPR)强调以业务流程为改造对象和中心、以关心客户的需求和满意度为目标、对现有的业务流程进行根本的再思考和彻底的再设计,利用先进的制造技术、信息技术以及现代的管理手段,最大限度地实现技术上的功能集成和管理上的职能集成,以打破传统的职能型组织结构,建立全新的过程型组织结构,从而实现企业经营在成本、质量、服务和速度等方面的巨大改善。
2.基准化分析法。基准化分析法(Benchmarking),也称标杆分析法,就是将本企业各项活动与从事该项活动最佳者进行比较,从而提出行动方法,以弥补自身的不足。一般的Benchmarking流程则包括确定内容、选择目标、收集分析数据、确定行动目标、实施计划和跟踪结果等步骤
3.工作流管理。工作流指将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高组织的水平和工作效率的目的。工作流管理(Workflow Management)一般通过对现有工作流的研究,进而确定瓶颈所在,以便发现过程的哪些環节还可以提升,过程的漏洞在哪里以及引起这些漏洞的原因。
4.逆向工程。软件的逆向工程(Reverse Engineering)是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。逆向工程工具可以从已存在的程序中抽取数据结构、体系结构和程序设计信息。
5.基于模型的过程改进。CMMI属于基于模型的过程改进方法,可用于过程改进的模型除CMMI之外,还有ISO/IEC 15504(也称SPICE)、Malcolm Baldridge、6Sigma、BOOTSTRAP等。
三、CMMI模型
能力成熟度集成模型,是由卡内基梅隆大学软件工程研究所制定和发布的用来评估采购商供应商(开发商)过程能力和组织成熟度的一套标准,也可以作为厂商提升产品开发过程管理水平的参考模型。SEI最新发布的CMMI V1.3版本包括CMMI-DEV开发模型、CMMI-ACQ采购模型和CMMI-Service服务模型。本文后续章节的内容针对CMMI-DEV模型展开。CMMI模型提供了阶段式和连续式两种表示方法。阶段式方法把组织的成熟度分为了初始级、已管理级、已定义级、定量管理级和优化级5个等级。连续式方法把模型中的每个过程域划分为4个“能力度”等级,即不完整级、已执行级、已管理级和已定义级。
过程域是一系列实践和目标的集合,通过执行这些实践就能实现一组相应的目标。CMMI-DEV 1.3共有22个过程域和四种类型。其中项目管理包括:集成项目管理(IPM)、项目监控(PMC)、项目策划(PP)、定量项目管理(QPM)、风险管理(RskM)、供方协议管理(SAM)共6个过程域;过程管理包括:测量与分析(MA)、组织过程定义(OPD)、组织过程焦点(OPF)、组织性能管理(OPM)、组织过程性能(OPP)、组织培训(OT)共6个过程域;工程管理包括:产品集成(PI)、需求开发(RD)、需求管理(ReqM)、技术解决方案(TS)、确认(Val)、验证(Ver)共6个过程域;支持包括:原因分析和决定(CAR)、配置管理(CM)、决策分析和决定(DAR)、过程和产品质量保证(PPQA)共4个过程域。
四、深入理解CMMI
SEI在对CMMI模型进行描述的过程中,定义了大量的“术语”,其中部分重要的“术语”贯穿了整个模型。有些“术语”与平时使用它们时的含义不尽相同,再加上中西方文化的差异,给人们理解CMMI模型带来了不少的困扰。本节将对模型中的一些重要“术语”进行深入剖析,以便我们能够更好地理解CMMI模型。
1.产品、产品组件和工作产品(product、product component、work product)。产品是指欲交付给顾客或最终用户的工作产品。产品的形式可因环境而异,对于软件开发来说,常见的产品包括源代码、数据以及相关文档(如用户手册、使用指南等)。通俗地讲,产品组件就是产品的组成部分。工作产品是过程的有用结果,比如文件、文档、服务等。工作产品与产品部件之间的关键区别是一个工作产品不一定是产品的一部分,比如详细设计说明书是工作产品,但通常不会交付给用户,所以它不是产品组件。
2.建立与维护(Establish and maintain)。在CMMI中,常常会遇到“建立与维护”的一些目标和实践。该短语包含了比其字面意思更多的含义,还包含了文档化和使用的含义。例如,“建立和维护风险管理的策略”。意指不仅必须有策略,而且必须文档化,并且必须在整个组织或项目中采用。
3.操作概念和操作场景(operational concept and operational scenarios)。操作概念是对系统如何运行、系统与旧系统的关系、系统要实现的用户的需求、系统在操作环境中的驻留和分布、系统的运行的时间以及系统性能要求等方面的概要描述。操作场景是对预想的事件序列的描述,包括产品与其环境和用户的交互以及产品部件之间的交互。操作场景常常用于引导出干系人的需求、帮助用户更好地理解需求并且让用户明白实现了这些需求的系统最终是个什么样子。
CMMI是目前世界上公認的应用最广泛、最权威的过程改进模型。我们有必要对CMMI进行深入的解读并真正按照CMMI的要求开展日常的项目计划、设计、开发、测试等工作,这样才能充分发挥CMMI的优势,为企业带来切实的利益。本文只是对CMMI中很少的一部分内容和概念进行了剖析,掀开了冰山的一角,希望起到抛砖引玉的作用。让我们共同努力,促进中国的过程改进事业又快又好地发展。
参考文献:
[1]Hammer,M. and J.A.Champy.Reengineering the Corporation:A Manifesto for Business Revolution[M].New York:Harper Business Books,1993.
[2]CMMI Product Team.CMMI for Development,Version 1.3,http://www.sei.cmu.edu/cmmi.
[3]Kasse,Tim.Practical Insight into CMMI?襆,2nd ed[M].Artech House:Boston · London,2008.
[4]Margaret K.Kulpa,Kent A.Johnson.Interpreting the CMMI?:a process improvement approach,2nd ed[M].Auerbach Publications:London,2008.
Abstract:The concept of process improvement and several classical approaches of implementing the CMMI are introduced firstly. And then the CMMI is presented briefly in this paper. Finally the author provides the reader with some of more critical vocabulary that is used throughout CMMI. The purpose of this paper is that reader can get an all-sided comprehend of process improvement and a deep insight into CMMI.
Key words:CMMI;process improvement;workflow management