工商管理专业毕业论文
软件能力成熟度模型初探-软件企业质量管理研究
目 录
1 前言.....................................................................1
1.1 研究的背景和意义.................................... ................. 1
1.2 研究方法及内容............................................. ...........1
2 全面质量管理-CMM的理论基础............................................1
2.1 全面质量管理的基本概念................................................1
2.2 PDCA循环理论.........................................................2
2.3 质量管理十四原则......................................................2
3 CMM体系介绍............................................................3
3.1 CMM的产生.............................................................3
3.2 基本概念..............................................................3
3.3 CMM的五个等级模型.....................................................4
3.3.1 等级1-初始级......................................................5
3.3.2 等级2-可重复级......................................................5
3.3.3 等级3-已定义级......................................................5
3.3.4 等级4-定量管理级....................................................5
3.3.5 等级5-优化级........................................................5
3.4 CMM评估过程简介.......................................................6
3.5 CMM实施的意义........................................................ 6
4 案例分析:CMM在广州某软件企业的应用及其效果..............................6
5 CMM在我国应用的现状及前景展望 .......................................9
5.1 CMM在我国应用的现状及其原因........................................9
5.2 在我国实施CMM的前景及建议.........................................10
6 结论与讨论 ..........................................................11
致谢
参考文献
英文摘要
摘 要
软件行业作为一个新兴行业,在产品质量控制方面没有像传统行业那样有前人积累的经验可以借鉴。而软件能力成熟度模型(CMM)提出了一种对软件企业进行有效的生产运营和质量管理的解决方案。
CMM的管理思想来源于全面质量管理(TQM)思想,具体有Walter Shewhart的PDCA循环理论、Deming的质量管理原则等。
CMM把软件生产从无序到有序的进化过程抽象成了一个有序的逐渐升级的五个成熟度等级,每个等级对应于不同的质量管理水平。这五个等级分别是:初始级、可重复级、已定义级、定量管理级、优化级。SEI制定了一套对企业进行CMM评估的程序,其过程包括准备、实施、报告阶段。CMM能提高软件企业产品质量,优化组织结构,降低成本。
实践证明CMM是有效的。广州某企业相继成功通过了CMM二级和三级认证,在进行认证的过程中,企业的项目管理、组织结构管理等得到了很大的完善。通过认证之后,产品质量、生产效率都有了大幅提升。
在我国通过CMM的企业数量和等级比起美国印度等国来说还远远不够,现状不容乐观,主要原因有:我国软件企业分散、规模小,封闭限制了我们把世界已经通行的标准引入我们软件开发的过程;国内软件需求旺盛,很多软件企业无意走出国门;国内软件人才结构不合理等等。政府和企业都应该采取有效的措施来推进软件企业质量管理水平,推广CMM。
CMM不是万能的,它还与个体、群体的软件过程有关。作为一个新生事物,它也受到少数专家学者的质疑。
关键词:软件企业 评估模型 质量控制 全面质量管理
Research for Capability Maturity Model - Study On Quality Management Of Computer Software Enterprise
Jinghui Wu
(College of Economics&Trade, South China Agricultural University , Guangzhou 510642,China)
Abstract:Be different from traditional industry, computer software industry has accmulated little experience on quality management. How can it manage the quality of products? Capability Maturity Model for software can resolve the problem.
CMM's philosophy derive from Total Quality Management(TQM) theory, including Walter Shewhart's PDCA theory, Deming's quality management principles theory and so on.
CMM describes the principles and practices underlying software process maturity and is intended to help software organizations improve the quality of their products. It is organized into five maturity levels: initial, repeatable, defined, managed and optimizing. SEI provide services of CMM certification, the certification process include prepare, implement and report.
Practices prove that CMM is effective. A software enterprice in Guangzhou has passed level 2 and 3 of CMM certification. During the certification process, its project management and organization struct was highly improved and optimized.
In China, the number of software enterprices that have passed CMM certification is much less than Indian and America. Reseaons of this disappointing phenomena include the follows: So many software enterprices in China are small-scale, they has no capability to import CMM; The demand of domestic software market is of large number, some enterprices has no intesting of international market; Enterprices are lack of members with high-level management skills.
CMM is not almighty, its effect is related to Personal Software Process and Team Software Process. In additon, Some experts suspect CMM.
Keywords: software company evaluating module quality control total quality management
1 前言
1.1研究的背景和意义
产品的质量控制是生产运营管理的一个很重要的内容。不管是什么产品,只有拥有好的质量,才能赢得客户的喜爱,才能真正长期的赢得市场。
软件产业兴起于上个世纪后半叶,作为一个新兴的行业,在产品质量控制方面没有像传统行业那样有前人积累的经验可以借鉴。传统的软件工程学把重点放在软件生产流程方面,专注于软件产品的需求分析、概要设计、详细设计以及维护,在质量管理方面存在很大的不足。那么在软件产业日益发展的今天,又需要怎样进行生产运营和产品质量管理的呢?我们将要探讨的软件能力成熟度模型(Capability Maturity Model For Software,CMM)提出了一种行之有效的解决方案。
CMM的设计理念来源于全面质量管理(Total Quality Management, TQM)。根据软件行业的特点,CMM提出了一个五个成熟度等级模型,每个等级对应于不同的质量水平。等级越高,质量管理水平也就越高。软件企业根据自身的特点,可以申请逐级进行认证。CMM对每个等级作出了详细的说明,以指导软件企业在认证的过程中明确自己所要达到的目标。这样软件企业能在逐级进行认证的过程中不断改进自己的组织架构和管理机制,提升自己的质量管理水平。这个模型的原理及其理论基础将在后文详细阐述。
实践也证明CMM是一种有效的解决方案。广州一家企业成功实施了CMM认证之后,产品质量和生产效率都得到了大幅提升。通过对这个案例进行分析,结合我国软件业的实际情况,我们能得出通过CMM来提升软件产业质量管理的有效途径。这些内容也将在后文重点阐述。
1.2 研究方法及内容
本文通过对CMM理论基础、整体框架的研究,并结合实际的案例进行分析,以求能得出适用于我国软件企业的质量管理途径。
2 全面质量管理--CMM的理论基础
CMM的管理思想来源于所谓的全面质量管理(TQM)思想,具体有Walter Shewhart的PDCA循环理论、Deming的质量管理原则等。
2.1 全面质量管理的基本概念
TQM是当今质量管理最基本最经典的理论,它是一种管理哲学,这种思想是通过不断改善所有的组织过程来永久保持顾客满意的。它有下面一些基本特点(龚国华,1998):
(1) 它既不是某种狭隘的概念或者方法,也不是一种模式,而是一种管理的途径。
(2) 它强调一个组织必须以产品的质量为中心来进行运作。任何其他的管理职能都不能取代质量的中心地位。
(3) 它必须以员工的全体参与为基础。这种全员参与不止是指组织中的所有部分和所有层次的人员要积极认真地投入各种质量活动,同时还要求组织的最高管理者坚持强有力的和持续的领导、组织、扶持以及有效的质量培训工作,不断提高组织中所有成员的素质。
(4) 它强调让顾客满意和本组织所有成员及社会受益,而不是其中的某一方的得益,而其他方受损。这就要求组织能够在最经济的水平上最大限度地向顾客提供满足其需求的产品和服务。在顾客受益,组织也能够获得好的经济效益的同时,使社会受益而不是相反。
(5) 它强调一个组织的长期成功,而不是短期的效益。这就要求组织有一个长期的、富有进取精神的质量战略,建立并且不断完善其质量管理体系,培育并且不断更新其质量文化,使组织的长期成功建立在自身素质和实力的基础上。
2.2 PDCA循环理论
PDCA循环理论(Walter Shewhart,1937)是TQM产生的基础,也是TQM理论的一部分。从上面一小节可以看出,TQM致力于实现过程的不断改进。这样,变化性就会日渐降低,当变化性被消除的时候,产品和服务的同一性就会增强。而它们同一性的增强反过来又会降低成本,提高质量。PDCA循环理论正是体现了这种持续改进的理念。
所谓的PDCA,是指“计划(Plan)-执行(Do)-检查(Check)-总结处理(Action)”。管理人员首先做出变革的计划,然后开始尝试着执行这个计划,接着检查结果,最后对结果进行总结处理,并采取相应的行动,使变革能够得以推广,或者利用这次得到的信息重新开始一个新的PDCA循环过程。这样,组织过程就能在这个循环中得以不断的改进和提高,进行不断的完善。
2.3 质量管理十四原则
Deming在战后的日本提出了质量管理的十四原则,被称为日本的质量成功之父。他的思想也被后人纳入TQM思想体系中,成为CMM的主要理论基础之一。
这十四个原则是:树立改进产品和服务的目标;采用新的思维哲学;停止依赖检验的方法来获得质量;不凭价格标进货;坚持不懈地提高生产率和产品的质量;把岗位培训纳入企业制度当中;强调管理者的作用;排除畏难的情绪,减少部门之间和人员之间的交流障碍;不给操作人员提空洞的口号;取消对操作人员设定操作定额和操作指标;不采用按年度的方式对员工的工作进行评估;创建积极的自我提高的制度;让每个员工都投入到提高产品质量的活动中。
3 CMM体系介绍
3.1 CMM的产生
CMM由美国卡内基-梅隆大学软件工程研究所(Software Engineering Institute,SEI)最先提出。它基于众多软件专家的实践经验,是组织进行软件过程改善和软件过程评估的一个有效的指导框架,其中融合了PDCA循环理论和Deming的质量管理十四原则等TQM理论中的思想,以5个不断进化的层次反映了软件过程定量控制中项目管理和项目工程的基本原则。其基本思想是,只要不断地对软件企业的软件工程过程的基础结构和实践进行管理和改进,就可以克服软件生产中的困难,增强开发制造能力,从而能按时地、不超预算地制造出高质量的软件。
在软件业,软件质量得不到提高主要原因在于质量观念的缺乏,而将全面质量管理的思想运用于软件业,是提高软件产品质量、获取竞争优势的有效手段。CMM不但对于指导过程改进是一项很好的工具,而且它还把全面质量管理概念应用到软件上,实现从需求管理到项目计划、项目控制、软件获取、质量保证、配置管理的软件过程全面质量管理。CMM的思想是一切从顾客需求出发,从全组织层面上实施过程质量管理,正符合了TQM的基本原则。因此,它的意义不仅仅是对软件开发的过程进程控制,最关键的它还是一种高效的管理方法,有助于企业最大程度的降低成本,优化组织结构,提高质量和用户满意度。
3.2 基本概念
(1) 过程:为实现给定目标所执行的一系列操作步骤。
(2) 软件过程:人们开发和维护软件及其相关产品(例如项目计划、设计文档、代码、测试用例、安装手册、用户手册等)过程的一系列活动、方法、实践和变换。
(3) 软件过程能力:开发人员遵循软件过程能实现预期效果的程度。一个组织的软件过程能力提供一种预测该组织承担下一个软件项目时最可能的结果的方法。
(4)软件过程成熟度:一个特定的软件过程被明确和有效地定义、管理测试和控制的程度。
(5)关键过程域:每个软件能力成熟度等级包含的若干个对该成熟度等级至关重要的过程。
3.3 CMM的五个等级模型
CMM把软件过程从无序到有序的进化过程抽象成了一个有序的逐渐升级的五个成熟度等级。其中每个等级的过程能力作为达到下一个更高等级的基础,成熟度不断的升高的过程就是其过程能力不断的增强的过程(詹姆士.R.帕尔斯,2003)。而在每一个等级的内部(第一个等级初始级除外),存在着几个关键过程域。对关键过程域进行良好的定义、实施、管理并且不断的改进,将使软件企业逐渐地提高它们的软件生产能力,从较低的成熟度等级提升到更高的等级。
这五个等级分别是:初始级、可重复级、已定义级、定量管理级、优化级,如图1所示。
图1 CMM成熟度等级图
3.3.1 等级1-初始级
初始级的软件过程是没有定义的随意的过程,项目的执行是无序混乱的,进度、预算、功能性和产品质量等都不可预测。在CMM模型中,任何一个实体在开始的时候都被视为等级1的组织。
3.3.2 等级2-可重复级
在这个等级上,软件开发组织已经建立了项目管理的方法以及实现这些方法的规程。这个等级的软件开发组织中的项目已设置基本的软件管理和控制。项目的软件管理者跟踪软件成本、进度和功能, 一旦出现问题能及时识别。这个等级的软件开发组织的过程能力, 可概括为“可重复的”。因为软件项目的计划和跟踪是稳定的,能重复以前的成功。
在等级2,关键过程域的重点在于项目管理,包括:需求管理,软件项目计划,软件项目跟踪与监督,软件质量保证,软件配置管理,子合同管理。
3.3.3 等级3-已定义级
等级2是以项目为核心的等级,在等级2的关键过程域被定义和管理得很好时,各个项目之间就会很协调,此时就可以逐渐转移到等级3围绕整个组织的等级。
在已定义级上, 整个组织的软件开发和维护的标准过程都已经文档化,而且这些过程被集成为一个有机的整体。组织中有专门负责全组织软件过程活动的组。软件开发组织制定并实施全组织的培训计划, 以保证其职工和管理者都具有足够的知识和技能来履行其职责。
在等级3,关键过程域即关注项目,也关注组织。组织奠定了一个基础结构,使有效的软件工程管理过程都能够在各个项目中形成制度。等级3的关键过程域包括:组织过程焦点,组织过程定义,过程培训大纲,集成软件管理,软件产品工程,组间协调,同行评审。
3.3.4 等级4-定量管理级
可以认为等级2是关于过程的实践(项目),而等级3是关于过程的定义(组织制度)。而等级4则主要是关注过程的测量。在这个等级上, 软件开发组织对软件产品和过程都设置了定量的质量目标,对所有项目都测量其重要软件过程活动的生产率和质量,并且记录其相应的度量数据,作为以后性能改进的依据。
在等级4,质量测量被提高到了前所未有的高度。其关键过程域包括两个:定量过程管理和软件质量管理。
3.3.5 等级5-优化级
等级5是最高的一个等级。在这个等级上,整个软件开发组织集中精力进行不断的过程改进。为了预防缺陷出现, 组织能有效地识别出软件过程的弱点, 并预先加强防范。
处于这个等级的软件开发组织的软件过程能力的基本特征可概括为“不断改进的”。因为这些组织为完善其软件过程能力进行着不懈的努力, 因而能够不断地改善其项目的过程实效。整个组织都在着眼于持续的过程改进。
这个等级有三个关键过程域,包括:缺陷防范,技术更新管理,过程更新管理。
CMM 中的各成熟度等级描述了在这个成熟度等级上软件开发组织的特征。每一等级均为后继的等级奠定基础, 为有效地实施软件过程提供支持。软件能力成熟度等级的提高是一个循序渐进的过程, 每个等级形成一个必要的基础, 从此基础出发才能达到下一个等级。显然,这个模型与PDCA循环理论有着异曲同工之处,而且也大量运用了TQM的思想例如Deming的十四原则,很好地融合了软件工程和TQM。
3.4 CMM评估过程简介
如何评定一个企业是否达到了某一个成熟度等级?对此,SEI制定了一套评估程序。当企业提出自己期望能达到的成熟度等级之后,企业就必须按照这一套程序来进行认证评估。从3.3节可以看到,每一个成熟度等级都以前一个等级作为基础,因此企业在申报CMM认证的时候,必须从2级开始一级一级往上报,不可以越级申报。
CMM评估认证过程包括以下几个阶段:
(1) 准备阶段。其工作内容有:成立评估小组;界定软件过程的所有者;归纳和整理内部的过程;开发工具;进行自评,改进自己的内部文档。
(2) 实施阶段。其工作内容包括:初评,聘请评估员使用非常正式的方法进行初次评估;行动,根据初评的结果改进自己的不足,使企业内部符合CMM规范。
(3) 报告阶段。即进行正式的评估,得出结果并产生报告文档。
3.5 CMM实施的意义
(1) CMM能有效提高软件企业的产品质量。作为TQM在软件行业的典型应用,CMM模型能减少软件开发中的代码错误,提高产品开发阶段的质量,进而减少维护阶段的工作量,整个软件生存周期得到有效的改进。
(2) 企业在实施认证的过程中,会不断的改进自己的开发、组织、规范、文档,提高组织员工的素质,规范开发流程,以达到提高软件质量、缩短生存周期的目的。也就是说,组织结构在CMM的实施过程中得到了优化和调整,生产效率能得到大幅提升。
(3) 由以上两点可以得出,软件生存周期缩短,组织结构的优化,必然能在最大程度上减少软件生产的成本。
4 案例分析:CMM在广州某软件企业的应用及其效果
下面我们以位于广州天河软件园内的某软件企业(以下称为A公司)为例,来看一下CMM二级认证和三级认证(通常简称为CMM2和CMM3)的应用。
A公司是一家以软件开发和系统集成为主要业务,并在国内A股上市的高科技企业。其母公司自1986年创业以来,依托技术创新和稳健经营,已跻身于全国民营技、工、贸总收入百强企业第25名,广州民营高科技企业营业额第一名,2003年获广东省优秀民营企业称号。A企业现有600多名员工,学士以上学位的专业技术与管理人才占80%以上,目前公司拥有完全自主的知识产权体系,已获得3项技术发明专利。
该公司致力于与中国信息事业共同发展,为中国国民经济的信息化提供计算机、通信、信息源为主要内容的"三位一体"的综合解决方案。其开发的主要产品:IPS平台、NAP2000平台、电子商务平台、统一信息平台等多功能综合性平台,以及多媒体呼叫中心、固定电话短消息系统、"股神通"交易委托系统、城域网、个性化计费系统等,其中200/201系统、168/160系统、"视聆通"、112系统、114系统早已走进千家万户的生活。多种产品已在电信、邮政、证券、银行、企业等多个行业得到了广泛应用。
该公司凭籍自身的科技实力和技术优势,早在1997年就通过了ISO9001体系认证,2003年1月顺利通过认证机构的2000版转版审核,质量管理水平达到国际标准认可的较高水平;2001年12月,成为广州市首家通过CMM二级认证的高新技术企业,2003年3月再次通过CMM三级认证,在软件开发过程管理和软件质量管理方面向前迈进了一步,公司的软件开发能力和标准化程度进一步与国际接轨。2003年12月,A企业荣获2003年度中国广州最具竞争力制造业和高新技术企业100强称号。
从3.3节我们看到,CMM2的关键过程域专注于项目的管理,而建立在CMM2基础上的CMM3的关键过程域关注于项目以及整个组织的管理。也就是说,该企业从2001年准备CMM2到2003年初通过CMM3到现在,企业应该建立和维持一套完善的项目管理机制以及一个良好的组织结构。
首先来看项目管理部分,也就是CMM2的关键过程域关注的部分,主要包括需求管理,软件项目计划,软件项目跟踪与监督等等。
该公司的开发部门按产品线分为多个二级部门,每个二级部门对应于一类产品的开发,例如平台开发、CRM开发、增值业务开发、软交换产品开发等等。而每个二级部门的下面分多个项目组,每个项目组对应于一个产品的开发。由此可见,产品的数量是相当可观的。
首先我们撇开这个组织结构,来看项目的管理方面。公司的项目管理主要依靠Rational公司的ClearCase这个工具以及项目推进部这个专门的部门来实现。
ClearCase这个工具能够实现需求管理、软件项目计划、开发监督等多项功能。它的大体运作原理是:公司备有专门的服务器,在这个服务器上,给每一个项目设置一个文件夹。在项目开始的时候,软件的需求分析、软件项目计划等文档都由项目经理放置在该文件夹内。项目组成员通过自己的电脑可以连接这个服务器,从而查看到项目相关的进程。在开发阶段,这个工具更是起着举足轻重的作用。当每个项目组