软件过程改进与CMMI分析报告.ppt
文本预览下载声明
目录 1. 从“软件工程”走向“软件过程改进” 2. 过程改进的概念 3. CMMI介绍 4. CMMI与过程改进的关系 5. 过程改进的实施建议 6. CMMI3-4-5级评估和实施方案 1. 从“软件工程”走向“软件过程改进” 在二十世纪七、八十年代,软件工程的研究重点是需求分析、软件设计、编程、测试、维护等领域的方法、技术和工具,我们称之为传统软件工程。 现代的软件技术、软件工具要比几十年前好不知道多少倍,可是如今绝大多数软件项目依然面临着质量低下、进度延误、成本超支这些老问题。人们逐渐意识到,由于企业管理整个软件过程(包括开发过程、管理过程、支持过程等)的能力比较弱,常常导致项目处于混乱状态。 过程混乱使得新技术、新工具的优势难以体现,传统的软件工程不是不好,而是不够用。 提高软件过程能力的实践通称为软件过程改进(Software Process Improvement)。软件过程改进的最终目的是:提高软件质量、提高生产率并且降低开发成本。从二十世纪九十年代至今,软件过程改进成为软件工程学科的主流研究方向,其中CMM/CMMI是该领域举世瞩目的重大成果。 2. 过程改进的概念 2.1 什么是过程? 人们使用合适的方法、技术、工具才能开发出用户需要的产品。过程是指“人,方法,技术和工具”的集合。 过程被写成文档后,变成了公司的“流程制度”,公司成员们依据“流程制度”开展工作,这叫“法治管理”。 2. 过程改进的概念 2.2 过程与产品有什么关系?为什么要重视过程? 软件产品不能靠人们的意念瞬间完成,它需要一个研发过程。一般情况下,好的过程才可能得到好的产品,而差的过程会得到差的产品。 当然也有相反的情况,有些人在混乱的过程中创造了很好的产品,也有些人在严谨的过程中生产出商业上失败的产品。但这类现象不具有指导意义。 为什么要重视过程? 由于公司销售的是产品而非过程,人们常常只把眼光盯在产品上,而忘了过程的重要性。 例如,领导对员工们下达命令时经常强调:“我不管你们怎么做,只要时间一到你们交付产品就行。”其实这是一句因果关系颠倒了的话,却在业界普遍存在。 如果领导不关心员工怎么做(即做事的过程),往往会得到失望的结果。 2. 过程改进的概念 2.3 什么是过程改进,企业为什么需要过程改进? 过程改进(Process Improvement)是指:根据企业的现实情况和发展需求,优化流程制度,努力提升人们在过程中的工作能力,从而“提升产品质量、提升生产率并降低成本”。(注:这是作者对过程改进的定义) “过程改进”本身就是一件消耗时间、精力和成本的事情,那么企业为什么要做“过程改进”?答案是:过程改进是企业谋求进步的需要。 企业谋求进步离不开以下两点: (1)企业人士要不断学习新技术,开发新产品,开拓新业务领域。 (2)企业人士要不断反省自己,总结经验教训,改正缺点、发挥优点。 过程改进体现了“自我反省、自我改进”的精神,不论对人生还是对企业而言,都是极为重要的。 3. CMMI介绍 3.1 CMMI的诞生 1981年,美国卡内基梅隆大学软件工程研究所(SEI),应美国联邦政府的要求开发了一种用于评价软件承包商能力,并帮助其改善质量的方法。Watts Humphrey将成熟度框架带到了SEI并增加了成熟度等级的概念,将这些原理应用于软件开发,发展成为软件过程成熟度框架,它提供了评估软件开发过程能力的一种标准。 1987年,基于Watts Humphrey 等人的工作,SEI的Mark Pauk 等人建立了第一个CMM(Capability Maturity Model,能力成熟度模型),即软件CMM。1993年,SEI推出了CMM 1.1。 之后十几年来CMM的改进工作一直不断地进行着,相继有多个学科领域的CMM模型问世,如SE-CMM, SW-CMM, IPD-CMM等。美国国防采购与技术办公室领导了一个由政府、企业和SEI的代表组成的团队开始开发一个CMM模型的集成框架,即CMMI(Capability Maturity Model Integration,能力成熟度模型集成)。 CMMI的基础源模型包括:软件CMM 2.0版本,EIA-731系统工程,以及IPD CMM (IPD)。2002年1月CMMI 1.1版本正式发布,立即被广泛采用。 2006年8月,面向开发的CMMI(CMMI-DEV 1.2)版本正式发布。为了适应更加广泛的应用,SEI计划今后发布另外二种模型,分别是面向服务的CMMI(CMMI-SVC 1.2)和面向采购的CMMI(CMMI-ACQ 1.2)。 3. CMMI介绍 3.3 CMMI阶段表示法:5个等级和22个过程域 CMMI将能力成熟度分为5个级别:初始级,已管理级(7个过程域),已
显示全部