基于CMMI的软件项目过程管理方法改进论文.doc_第1页
基于CMMI的软件项目过程管理方法改进论文.doc_第2页
基于CMMI的软件项目过程管理方法改进论文.doc_第3页
基于CMMI的软件项目过程管理方法改进论文.doc_第4页
基于CMMI的软件项目过程管理方法改进论文.doc_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 摘摘 要要 软件界多年的实践研究工作表明 一个软件组织或企业 只有在软件过程 被有效管理与控制的情况下 才有可能在既定的预算费用及进度约束下 向客 户交付高质量的软件产品 软件过程的相关理论方法与模型有很多 其中较为 著名的模型是美国卡内基 梅隆大学软件工程研究所 CMU SEI 研制并发布的一 个标准模型 CMMI 模型 本文是作者基于在一个实际的软件企业内 亲身参与 到软件项目的过程改进实践工作中 来阐述实际企业内部是如何根据企业现存 的一些问题 来进行软件过程的改进 本文所阐述的改进模型是 CMMI Dev V1 2 模型 同时结合公司内现存的急需解决的重点问题 对目前公司内的 项目过程管理流程进行优化与改进 以适应项目的实际需要 提高项目管理水 平 主要研究与实现三方面的工作 建立适合于小型项目使用的一套过程管理 体系 支持项目管理流程的子系统研究与实现 收集并分析汇总项目执行过程 中产生的数据 通过以上过程改进工作的研究与实践 证明了在结合实践公司业务特点的 同时 此过程改进的实践方法在实际的工程项目管理中具有一定的工程指导价 值与参考作用 关键词 关键词 软件过程改进 CMMI 项目管理体系 软件过程管理 Abstract II ABSTRACT Many years software industry practical research shows that an software organization or enterprise can deliver high quality software products to its customers with estimated cost and schedule constraints only when software process is well managed and controlled There are many theories and models for the software process One of the more well known models is the CMMI model which is developed and published by Carnegie Mellon University Software Engineering Institute CMU SEI This paper is based on an actual enterprise software project to improve the software process By the project it will be discussed how to improve the software process according to the existing problems in the company The improved model described in this paper is a model of the CMMI Dev V1 2 In the mean time it will be discussed how to optimize and improve the process management flow in the company according to the key issues which are urgent to be solved Thus the improved process can be used to the actual needs of the project and raise the level of project management Main research work in three areas Establish a suitable set of process management system used for small projects Research and realize subsystem to support the project management process Collect analyze and summarize the data generated in the project process By the above improved process research and practice it can prove the process improvement practice has engineering guidance value and reference in real engineering project management combined with the company business character Key words Software Process Improvement CMMI Project Management System Software Process Management 目 录 III 目目 录录 第 1 章 绪论 1 1 1 项目背景和研究意义 1 1 1 1 项目背景 1 1 1 2 研究意义 1 1 2 国内外研究现状和发展趋势 2 1 2 1 软件的出现与软件工程的发展 2 1 2 2 软件过程管理理论的提出 4 1 2 3 国外软件过程改进工作的研究与发展现状 6 1 2 4 国内软件过程改进工作的研究与发展现状 10 1 3 本文的主要工作 12 1 4 论文的组织结构 12 1 5 本章小结 13 第 2 章 CMMI 模型介绍 14 2 1 CMMI 模型概述 14 2 1 1 CMMI 模型组件 15 2 1 2 CMMI 实施方法 16 2 1 3 CMMI 评估方法 17 2 2 CMMI 模型表示方式 18 2 2 1 连续式表示方式 18 2 2 2 阶段式表示方式 20 2 2 3 两种表示法的区别 22 2 3 本章小结 22 第 3 章 过程管理现状和实施问题分析 24 3 1 公司情况介绍 24 3 2 过程管理现状及实施问题 24 3 2 1 质量管理体系执行问题 24 3 2 2 人员管理意识薄弱问题 26 目 录 IV 3 2 3 项目费用管制问题 26 3 3 本章小结 27 第 4 章 小型项目管理体系建立 29 4 1 过程定义 29 4 2 体系整体框架 29 4 2 1 框架介绍 30 4 3 体系与 CMMI 的映射关系 32 4 4 体系的实施 32 4 5 本章小结 36 第 5 章 项目管理子系统设计 38 5 1 系统设计的主要动因与目的 38 5 2 系统需求分析 38 5 3 系统总体结构分析 46 5 4 系统实现的难点分析 46 5 5 界面设计 47 5 6 本章小结 48 第 6 章 改进效果与工作总结 49 6 1 改进效果分析 49 6 2 工作总结 56 6 2 1 全文工作总结 56 6 2 2 未来工作展望 63 参考文献 65 附 录 68 致 谢 71 第 1 章 绪论 1 第第 1 1 章章 绪论绪论 1 1 项目背景和研究意义 1 1 1 项目背景 现今的社会是知识经济高度发达的信息化时代 软件产业已成为信息化时代的 核心基础 是一个国家综合国力的战略性产业 在软件生产行业中 要想取得强有 力的竞争优势 除了有够硬的技术外 关注的主要焦点已集中在了管理上 软件过 程管理 软件过程改进等概念 已不再是些新的名词 软件业中较为著名的用于过 程改进的模型是 CMM 和 CMMI 模型 此模型是由美国卡内基 梅隆大学软件工程研究 所 CMU SEI 研制并发布的一个标准模型 其思想来源于已经存在多年历史的产品 质量管理和全面质量管理 企业使用此模型 可以实现软件过程能力评估及软件过 程改进工作 通过对企业内部软件过程进行改进 来提高企业内部整体管理化水平 使企业能够更好地实现 其预期的商业目标 由于此模型主要起源于国外 国外 的一些公司及企事业单位实施情况已较为普遍 国内相比而言 还处于起步与发展 使用阶段 中国政府将发展软件产业摆在了较为重要的位置 将软件产业作为国民 经济发展的先导与核心产业来加以扶持 2000 年 6 月 国务院下发了 18 号文件 鼓励软件产业和集成电路产业发展的若干政策 其中第十七条明确规定 鼓励 软件出口型企业通过 GB T19000 ISO9000 系列质量认证体系认证和 CMM 认证 其认 证费用由中央外贸发展基金适当予以支持 最近几年又陆续出台了一些有益于软件 业发展的好政策 商务部 2006 年 10 月颁布的 商务部关于实施服务外包 千百 十工程 的通知 商务部关于做好服务外包 千百十工程 企业认证和市场开 拓有关工作的通知 财政部 2009 年发出的 关于鼓励政府和企业发包促进我 国服务外包产业发展的指导意见 国务院办公厅 2011 年 2 月发出的 国务院 关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知 有了国家的 大力扶持后 国内的一些大中型企业也纷纷对软件过程管理及改进这块的工作渐渐 重视起来 希望通过对软件过程进行有效改进与规范化 来提高企业内部软件开发 过程能力和管理水平 降低企业成本 1 1 2 研究意义 第 1 章 绪论 2 从 1968 年 软件工程概念提出到现在 软件开发过程管理与工程化 一直是 软件业界讨论最多的话题 人们也逐渐意识到 要想提高软件开发水平 提高企业 的核心竞争力 改进软件过程是每个企业都要走的路 对于软件企业来说 软件产 品如同是企业的生命 需要有好的管理过程来保障 我国软件产业之所以落后 不 是因为技术原因 在很大程度上是对软件生产过程的管理比较落后 CMMI 是结合 了质量管理和软件工程的双重经验 而制定的一套针对软件生产过程的规范模型 本论文所讨论的问题 是结合一个实际公司内部现实存在并且是急需解决的问题 来研究与实践软件过程改进工作 具体很大的实践性 对其他企业或进行软件过程 改进的从业人员 具有一定的参考作用 1 2 国内外研究现状和发展趋势 1 2 1 软件的出现与软件工程的发展 20世纪50年代 软件伴随着第一台电子计算机的问世诞生了 以写软件为职业 的人也开始出现 他们多是经过训练的数学家和电子工程师 基于当时硬件非常昂 贵 对于从事编程工作的人员来说 他们所追求的是如何在有限的处理器能力和存 储器空间约束条件下 编写出执行速度快 体积小的程序来 鉴于当时的社会条件 限制与科技发展的状况 从事写程序这份差事 完全依赖于一些高端人员的聪明才 智 程序中充满了各种各样让人迷惑的技巧 这种工作被比喻成一种艺术创作 此 时期的软件开发方法基本上属于个体化软件开发方式 完全依靠个人的聪明才智和 工作习惯 推荐使用淘宝自动发货 软件是对客观世界中问题空间与结果空间的具体描述 是客观事物的一种反映 1 由于客户世界是处在不断的变化之中 这就要求软件也要能跟得上相应的步 伐 适应不断变化的客观事物 20世纪60年代中期到70年代中期 随着硬件的不断 更新与发展 大容量 高速度计算机的出现 使计算机应用 领域迅速扩大 软 件开发急剧增长 高级语言也开始出现 操作系统的发展引起了计算机应用方式的 变化 软件系统的规模越来越大 复杂程度也越来越高 此后软件界出现了一系列 问题 软件项目工期经常延期 开发出的软件预算严重超支 质量得不到保证 大 型项目的软件维护工作也越来越困难 可移植性和可复用性差 失败的软件开发项 目也屡见不鲜 依靠原有的以个体开发方式为中心的传统软件开发模式 已经无法 满足客户对质量 效率 工期等方面的要求 迫切需要改变软件生产方式 提高 软件生产率 软件危机 Software Crisis 由此产生了 软件危机 究其根本原因是软件生产属于知识密集型和人力密集 型的一种 生产性活动 为了克服软件危机 1968年 北大西洋公约组织 NATO 召集 第 1 章 绪论 3 了来自11个不同国家的 50多名一流的编程人员 计算机科学家和工业界巨头 在德国Garmisch地区讨论和制定摆脱 软件危机 的对策 在那次 国际性会 议 2 上第一次提出了软件工程 Software Engineering 这个概念 着重要 解决两个主要问题 一个是 软件开发技术 相关问题 包括软件开发方法学 软 件工具和软件工程环境 等 另一个是 软件项目管理 相关问题 包括 软件度量 项目估算 进度控制 人员组织 配置管理 项目计划等 通过利用科学的工 程化方法和管理手段 来进行软件开发活动 以便开发出成本低 功能强 可 靠性高的软件来 对于软件工程的定义 不同的组织机构和学者 都有自己 的一套定义 ISO IEC IEEE 3 对软件工程的定义为 将科学性的和技术性的知识 方 法以及经验 系统的应用到软件的设计 实现 测试和文档编写中 即将系统 化 规范化 可度量的方法应用到软件的开发 运行和维护中 即将工程化应 用到软件中 Fritz Bauer在NATO会议上给出的定义 为 建立并使用完 善的工程化原则 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法 在后续不断研究与实践过程中 软件工程先后经历了几个具有里程碑意义 的发展阶段 第一阶段 传统软件工程 由于软件工程所关注的使用方法和技 术主要分成技术和管理两类 4 首先从管理角度来看 这个时期出现的一些 主要成果有 瀑布式 生命周期模型 这个模型是当时最为经典的一种生命 周期模型 随着软件开发工作的不断变化 演进 传统的瀑布式开发模型 需 求分析 系统设计 程序设计 编码 单元测试和集成测试 系统测试 验 收测试 运行和维护 5 已频繁出现了一系列问题 不同类型的软件开发 其软件开发方式也应该是不一样的 后来 有人针对该模型 本身存在的问题和 不足 提出了 其它一些用于软件开发周期的模型 这些模型有 V模型 快速 原型法 螺旋模型 RAD 快速应用开发 增量和迭代模型 等 这些模型是 对 瀑布式 生命周期模型 不足的补充 一直到现目前 这些模型在软件开 发的实践中一直被广泛采用 传统软件工程的另一发展领域是软件技术与方法 的研究 70年代风靡一时的结构化开发方法 即 OPD 面向过程的开发方法 以及OPA 面向过程的分析方法 由于客观世界的不断发展与变化 软件界在新需求 新技术不断涌现的同 时 迫切需要对现行的软件系统进行不断升级与演化 到了20世纪80年代中 期 随着计算机辅助软件工程 CASE 和软件工程环境的研制成为热点 面向对象 技术OOA 面向对象的分析方法 OOD 面向对象的设计方法 也开始出现并 逐步流行开来 使得软件工程研究界 发生了翻天覆地的变化 随之而来的是面 第 1 章 绪论 4 向对象建模语言 以 UML为代表 软件复用 基于组件的软件开发等新的方法 和领域 此发展阶段是软件工程的第二个发展阶段 即现代软件工程 随着软 件工程新技术 新方法的不断出现 使得软件危机在一定程度上 得到了缓解 不过没有彻底根除掉软件危机的存在 这也是软件界客观发展规律所决定的 没有一种所谓的 银弹 能够从根本上解决掉软件开发所存在的问题 因 为软件开发过程太过于复杂 开发过程中存在了 太多的变数与不定 软件开 发工作所依赖的业务领域和开发技术也是千变万化的 可以从以下一组数据看 下 软件工程出现后 软件开发工作仍然存在一些比较严重的问题 7 根据统计 每年投入 750亿美元用于信息行业的 20万个软件开发项目 其 中只有16 的软件项目能够在原估计的预算范围内按期 完成 20世纪70年代中期 根据美国国防部 汇总的统计数据显示 在失败的项目 中 大概有70 是由于对软件开发 过程管理不到位而引起的 20世纪90年代 美国曾投入 2500亿美元用于 信息化行业的170000个软件项 目 其中有30 的项目在完成之前就被取消 这些半途而废的 软件开发项 目花费了将近800多亿元的实际成本费用 其中有53 的项目费用 超出原预 算的90 几乎超出预算的一倍 只有10 的软件项目能够在项目预算 范围 内按期交付 这就促使人们去寻找另外解决问题的方法和途径 经过不断的实践与总结 使得人们逐渐认识到影响软件问题 的根由 究其原因不是由于技术 方法或者 工具引起的 而是由于对软件开发过程缺少有效的管理与支持所致 也正是由 于这个原因 导致了难以提高软件生产率和软件质量水平 基于这个现实背景情 况 软件过程 软件过程管理与改进等理论方法相继出现 并得到了快速的发 展与应用 1 2 2 软件过程管理理论的提出 自从20世纪80年代末期 过程思维提倡者 Watts Humphrey 1989 将过程 管理的原则引进到软件开发过程中 10 在软件业界掀起了一股以过程改进为 中心的热潮 这是软件业发展的第二阶段 Watts Humphrey 将软件过程定义 为软件开发和进化过程中使用的一系列活动 方法和实践 8 通俗的说 软 件过程就是指软件开发所涉及的一系列相关活动与实践 技术 方法和工具 以及活动与实践过程中产生的成果物的集合 其中的产出物大体可包括三大类 工程类文档 需求规格说明书 设计规格说明书 测试用例等 项目管理类 文档 项目管理计划 风险管理计划 沟通管理计划等 支持类文档 质量 保证计划 配置管理计划 软件度量计划等 第 1 章 绪论 5 软件过程理念不是一门新兴的质量管理方法论 它也不是单独的一门学科 它是软件工程研究领域中的一部分 是人 工具 方法和技术的集合 如图 1 1 6 9 可以说 软件过程是软件工程中 一个比较重要的层次级别 它是 软件工程的根基 软件工程与软件过程是包括与被包括的关系 软件过程质量 管理理念之所以能成为软件界第二次质量运动焦点 主要是由于有太多失败项 目的经验教训 以及不能让人满意的产品质量问题 使得人们逐渐意识到 好 的产品 高质量的软件只有在好的过程控制与管理下 按照一定的规范和标准 才能产生 这也是不争事实 基于软件过程理念的提出 相继出现了一些新的 质量名词 软件过程管理 软件过程能力与性能 软件过程改进 软件过程成 熟度 软件过程管理的基本思想就是通过对软件生产过程进行统计控制与有效管 理 来提高组织的过程能力 从而获得高品质 低成本的产品 在软件组织内 部 软件过程管理是建立在科学的项目管理基础之上 好的项目管理制度与流 程 能够为软件过程管理工作提供有利的执行条件 除了具有项目管理所涉及 到的管理工作之外 过程管理还包括整个软件组织的培训工作 质量文化建设 组织的管理机制 最佳实践的管理等相关方面的管理内容 由于组织的业务发 展是变化不断 客户的需求变化莫测 新技术新理念及工具的不断涌现 使得 组织必须不断的对软件开发过程进行改进 以适应各种不断变化的环境因素 从而提高软件组织生产过程能力 过程能力 描述了组织在遵循与实施一个软 件过程后能够得到的预期结果的界限范围 该指标是对软件过程能力的一种 衡量与评估 通过过程能力 可以预测一个组织在承接下一个软件项目 具有 一定相似度的软件项目 时 所能期望得到的最可能的结果 11 通俗的说 就是利用先前的项目数据积累去评估后继项目可能发生的结果情况 如 工作 量的评估 成本的评估 代码规模的评估等 与过程能力相对应的是软件过 程性能 表示软件项目在遵循一个软件过程后所得到的实际结果 而不是预期结 果 人人员员 具具备备一一定定技技能能 与与动动力力 经经过过培培训训 工工具具与与设设备备 规规范范与与方方法法 用用于于定定 义义各各任任务务间间的的关关系系 过过程程 第 1 章 绪论 6 图图1 11 1 过程三要素及其关系 软件组织只有通过对软件过程的不断诊断 优化与调整 才能提高其内在 的过程能力 这也就意味着软件开发质量与效率的提高 12 这是企业实施 过程管理的终级目标 通过这个目标的达成 来增强其在行业中的竞争力与地 位 从而实现盈利 值得一提的是 软件过程改进工作不是一朝一夕 一蹴而 就的事 而是一个循序渐进 不断重复不断提高的一个过程 这个过程需要对 过程执行情况不断地进行数据收集 数据统计分析和总结 通过数据来量化过 程执行效果 同时也可以通过数据反映过程执行中存在的问题 从而进行改进 13 这也正符合了我们伟大的过程改进先驱 Watts Humphrey所提倡的过程 思想 1 2 3 国外软件过程改进工作的研究与发展现状 软件工业界 经历了几次里程碑意义的发展阶段 第一阶段是从20世纪 70年代中期至 90年代中期 以瀑布式生命周期和结构化的开发方法为特征 第 二阶段是从20世纪80年代中期 以软件过程成熟度为核心特征 软件过程是结 构化开发过程很好的延伸 第三阶段是软件的工业化 即软件开发活动就如同 制造业的产品加工一样 可以随时通过零器件的装配 集成而获得一个产品 此阶段的软件开发 相对来说就是利用面向对象技术 通过对构件 模块的复 用与集成 以此来达成所期望的软件产品 14 每一阶段都是对上一阶段的一 次重大改进 软件过程改进工作之所以能成为软件工业界第二个具有里程碑式 的阶段 是由于有太多的失败项目 经过不断地对经验教训进行总结而发展成 的 软件过程改进是质量管理领域中比较重要的一方面 质量管理的发展可以 追溯到20世纪20年代 自从1924年 美国的 Walter A Shewhart提出控制和预 防缺陷概念 将数理统计方法应用到质量管理中 使得质量管理上升到了一个 以统计控制为核心的新阶段 W Edwards Deming Joseph M Juran和Phil B Crosby进一步发展和验证了 Walter A Shewhart的思想 其中 Phil Crosby 提出了质量成熟度的量化原理 它成为后续质量运动和软件过程运动的主题思 想 在过程改进研究领域 国外起步较早 取得的成果也是很令人赞叹的 当 前国际上比较著名 同时被人们普遍认可的一些国际化标准与模型也都是起源 于国外 主要有 15 ISO9000系列质量标准体系 ISO9000是由ISO 国际标准化组织 制定的一个标准族 它具体不是指一 个标准 而是一种标准的统称 通过使用该标准 可以使企业加强其内部的品 第 1 章 绪论 7 质管理 提高企业效益 提高 客户满意度 以此来获得强有力的市场竞争力 ISO9000 系列标准的最早形成于 1987年 在总结了英国国家标准基础之上 由 国际标准化组织 ISO 成立TC176技术委员会 联系 53个国家 专门致力于 ISO9000系列标准的发展 颁布ISO9000系列相关质量保证体系 16 ISO9000 标准族自诞生以来 先后进行了三次修订 分别是 1994版 2000版 2008 版 现目前 最新的版本是 2008版 此次修订的目的是为了更加明确地表述 2000版IS09001标准的内容 并加强与 IS014001 2004的兼容性 17 现在世 界上大部分国家 不同企业及各类组织机构 都纷纷实施了此标准及其认证与 评估工作 为的就是强化企业内部管理 稳定经营运作 提高企业形象 ISO IEC12207 ISO IEC12207是ISO 国际标准化组织 和 IEC 国际电气委员会 共同制定 并发布的一个国际性标准 最早的版本是 IS0 IEC12207 1995 即 信息技术 软件生命周期过程 这个国际标准 主要是针对软件相关过程 活动及任务 来 描述软件生命周期的一个体系结构 并没有说明应当如何去实施或者如何实现 过程中的各项活动和任务 标准主要包括三类主要过程 18 基本过程 组 织过程 支持过程 具体可见下图 1 2所示 此标准先后经过几次修订 目前最新版本为ISO IEC 12207 2008 系统和软件 工程 软件寿命周期过程 19 新修订的2008版本 主体过程为表1 1所示 此表 只列出了两层过程内容 没有具体细分到第三层内容 软件生命周期 基本过程 获取过程 供应过程 开发过程 动作过程 维护过程 文档编制过程 质量保证过程 验证过程 确认过程 配置管理过程 联合评审过程 审核过程 问题解决过程 管理过程 基础设施过程 改进过程 培训过程 支持过程组织过程 图图1 21 2 ISO IEC12207 1995 ISO IEC 15504 ISO IEC 15504 是信息技术过程评估国际标准 此标准是在ISO IEC TR 15504 SPICE 的基础上制订出的正式国际标准 在总结了SPICE 试验的基 第 1 章 绪论 8 础之上 继承了 ISO IEC TR 15504 SPICE 的基本思想和方法的同时 也发 生了许多引人注目的变化 最明显的一个变化就是 此标准不光为软件过程的 评估工作提供框架说明 用于组织的计划 管理 监督 控制和改进采办 供 应 开发运行 产品和服务的演变和支持工作外 而且也可为软件以外的一些 信息技术的评估工作提供框架说明标准 表表 1 11 1 ISO IEC 12207 2008 过程结构 系统生命周期过程软件生命周期过程 协议过程软件实施过程 组织项目可行性过程软件支持过程 项目过程软件再利用过程 技术过程 CMU SEI的CMM CMMI PSP TSP CMM CMMI PSP TSP是美国卡内基 梅隆大学的软件工程研究所 CMU SEI 所制订的系列标准模型 此标准模型已经被世人所了解 这些标准模型的 产生 可以说是软件工程界一项 举世瞩目的重大成果 此模型也是本文所要探 讨的 CMM最初是为了保证软件产品的质量 80年代中期 由美国联邦政府提出 对软件承包商的软件开发能力进行评估要求 而需要着手开发的过程模型 此 后 美国卡内基 梅隆大学软件工程研究所 CMU SEI 于1987提出了SW CMM 框架模型 4年之后 SEI正式发布了 SW CMM 1 0版 1993年 SEI正式发布SW CMM1 1版 自1991年SW CMM首次发布后 SEI又开发了其他成熟度模型 包括 20 1 系统工程 SE CMM 2 采购 SS CMM 3 人力资源管理 P CMM 4 集成产品和过程开发 IPPD CMM 以上各个模型针对是不同的专业领域 但彼此之间又有一定的重叠 因为 这些模型都是基于最原始的软件成熟度框架 另外 这些模型在表现形式上又 有不统一之处 系统工程模型是连续式的 而其他模型采用了等级式 当SEI 开始开发新一代成熟度模型的时候 其发起人提出了新的要求 整合不同模型 中的最佳实践 建立统一模型 覆盖不同领域 供企业进行整个组织的全面过 程改进 所以 SEI于2001年12月正式发布了能力成熟度集成模型 CMMI 1 1版本 这次发布标志着 CMMI的正式使用 SEI也正式宣布 将不再维护 SW CMM的CBA IPI评估方法 在 CMMI1 1发布后的两年内 SEI还提供有关 SW CMM 和CBA IPI主任评估员的培训 并接收评估数据 但这一切已于2003年12月底 第 1 章 绪论 9 正式停止 CMMI集成了多种成熟度模型的优点 改进了各自模型的不足 覆盖 不同领域 代表了先进的软件过程改进方向 另外 在CMMI中除了沿用成熟度 等级的方式 即 CMMI的分阶段表示形式 外 还吸取 TR 15504的特点 增加 了与15504类似的CMMI的连续表示形式 以满足 ISO15504国际标准对过程改进 评估的要求 2006年8月 CMMI1 2正式被发布 21 目前CMMI的最新版本是 2010年11月SEI发布的CMMI1 3版本 22 CMMI1 3版本的升级旨在对 CMMI模型 本身进行 瘦身 对评估方法进行 提速 对模型配套的培训课程进行完 善 CMM CMMI自问世以来 已得到了国际软件产业界和软件工程界的广泛认可 已在各国得到了快速的实施应用 此模型已经成为衡量软件开发管理水平的重 要标准 可以从下表 1 2所示SEI发布的一组截止到 2010年初的统计数据 看下 有关CMM CMMI实施的一个整体情况 23 表表1 21 2 各国实施评估的数据及成熟度等级 CountryCountry NumberNumber ofof AppraisalsAppraisals MaturityMaturity LevelLevel 1 1 MaturityMaturity LevelLevel 2 2 MaturityMaturity LevelLevel 3 3 MaturityMaturity LevelLevel 4 4 MaturityMaturity LevelLevel 5 5 Argentina77 501824 Australia3618724 BraziCanada591162454 Chile37 2212 2 China122911359873648 Colombia34 121332 Egypt431221223 France1684985312 Germany769371511 Hong Kong18 211 5 India524 1727824189 Ireland11 24 Israel19 311 3 Italy43 1920 Japan30618861401317 Korea Republic Of16615575158 Malaysia71 2243 6 Mexico86 363936 Netherlands14 57 1 Pakistan281214 1 Philippines23 211 8 Portugal14 57 1 Singapore21 41114 第 1 章 绪论 10 Russia11 334 SpaiSri Lanka14 212 Taiwan1341765122 Thailand38 1224 1 Turkey16 14 2 续表续表 1 21 2 各国实施评估的数据及成熟度等级 CountryCountry NumberNumber ofof AppraisalsAppraisals MaturityMaturity LevelLevel 1 1 MaturityMaturity LevelLevel 2 2 MaturityMaturity LevelLevel 3 3 MaturityMaturity LevelLevel 4 4 MaturityMaturity LevelLevel 5 5 United Kingdom1133503514 United States15823056461023141 Viet Nam17 1223 可以看出 除了美国以外 中国 巴西 墨西哥 西班牙 阿根廷 法国 及马来亚这些国家的评估速度呈快速增长的态势 值得一提的是 在各国都忙 于实施CMMI过程评估时 其中不免出现了一些流于形式的评估问题 这种现象 对于企业所带来的真正效益是极其甚小的 这种现象也是现今实施的一个普遍 问题 针对这问题 SEI出台了关于限制评估次数的规定 规定要求 每位认证 的主任评估师每日历年获准实施的最大数量是 12件 此外 每 60个日历日内 完成的SCAMPI方法的A级评估的不超过三件 为此目的 对 SCAMPI方法的A级 评估的 实施评估 阶段的任何一部分的执行都被认定为 SCAMPI方法的A级评 估的实施 违反这项政策将导致 SEI采取相应的处罚措施 可能包括取消主 任评估师的授权或认证资质 和终止 CMMI合作伙伴的授权许可 违反这项政策 的处罚措施将不得上诉 23 PSP 个体软件过程模型 和 TSP 群组软件过程模型 是为 CMM CMMI的 实施提供有效的补充作用 这三者的结合为软件过程改进提供了一个很好的改 进框架 24 CMM CMMI只提供了一些要做的参考标准 并没有说明如何去做 PSP和TSP正好补充了这个缺口 PSP是一种可用于控制 管理和改进个人工作 方式的自我改进过程 TSP 用于指导项目组成员 如何有效地规划和管理所面 临的项目开发任务 同时告诉管理人员如何指导软件开发组始终以最佳状态来 完成工作任务 只有将这三者有机结合起来 才能使它们发挥出最大的效力 从而促进软件生产的科学化管理 提高软件生产能力 为软件的工业化奠定基 础 1 2 4 国内软件过程改进工作的研究与发展现状 第 1 章 绪论 11 我国的软件过程改进工作相对国外来说起步比较晚 目前处于逐步发展中状态 我国政府和相关机关部门对软件标准化这块工作也是非常重视 深刻体会到 要使 中国软件产业走正规化发展道路 要想提高软件产业的效率和发展速度 就必须要 提高我国软件产业的标准化程度 2000 年 6 月 国务院下发了 18 号文件 鼓励软 件产业和集成电路产业发展的若干政策 其中第十七条明确规定 鼓励软件出口 型企业通过 GB T19000 ISO9000 系列质量认证体系认证和 CMM 认证 其认证费用由 中央外贸发展基金适当予以支持 25 为了落实国务院 18 号文的精神 加快我国软 件能力模型标准的制定 推动软件产业的发展 信息产业部 2000 年 9 月 28 日主持 成立了软件体系评估标准特别工作组 该工作组在深入研究了国外的一些标准模型 CMM CMMI ISO IEC TR15504 ISO9000 以及其他有关的资料和文件 以及国外企 业实施 CMM 的实际情况 结合国情 确定了以 CMMI 作为主要参考文件来制定标准 最终形成了 SJ T 11234 2001 软件过程能力评估模型 和 SJ T 11235 2001 软 件过程能力成熟度模型 行业正式标准 并于 2001 年 5 月 1 日正式实施 这就是 中国的 软件过程及能力成熟度评估 即 SPCA 评估 信息产业部在制定和领发 SJ T 11234 和 SJ T 11235 标准基础之上 会同国家 认证认可监督管理委员会联合领发了 软件过程及能力成熟度评估指南 国认可 联 2002 49 号 SPCA 评估遵循 软件过程及能力成熟度评估指南 该指南是 国家认监委和信息产业部于 2002 年 8 月共同发布 该指南为软件过程及能力成熟 度评估活动和保证评估结果的可信度 提供了科学的评估方法 是评估机构规范评 估管理的依据 最近几年国家相关部委以及各省市政府 陆续颁布了有关过程改进 服务外包 的支持政策 主要有 财政部 2009 年发布的 关于鼓励政府和企业发包促进我国服务外包产业发展 的指导意见 国务院办公厅 2011 年 2 月份发布的 国务院关于印发进一步鼓励软件产业和 集成电路产业发展若干政策的通知 商务部 2006 年 10 月份颁布的 商务部关于实施服务外包 千百十工程 的 通知 商务部关于做好服务外包 千百十工程 企业认证和市场开拓有关工作 的通知 另外 国内有关过程方面为人所知的一些模型有 26 CSCMM 模型 此模型是由中国工程院院士何新贵领导的小组 在参考了 SW CMM 模型框架的基础之上 研发出的符合我国国情的一种能力成熟度模型 SPP Simplified Parallel Process 是精简并行过程 是由林锐博士领导 的由 6 名成员组成的一个 SEPG 组 基于 CMMI 模型标准撰写出的累计达千页的一套 第 1 章 绪论 12 规范过程文档和模板 SPP 2 0 共有 19 个关键过程域 基本满足 CMMI 3 级要求 SPP 模型分三层结构 上层是项目管理过程的集合 中层是技术过程的集合 下层 是支撑过程的集合 27 工信部软件与集成电路促进中心统计了截止到 2009 年底 中国的软件质量管 理取得的总体进展如下 28 截止到 2009 年 9 月末 我国获得 CMM CMMI 评估证书为 1300 张 世界排名第 二 我国已经初步建立了软件过程改进服务体系 目前过程改进领域咨询公司数量 已经达到 50 多家 认证机构 公司 达到 20 多家 咨询公司从业人员数量超过 300 名 截止到 2008 年底 我国通过信息服务管理标准体系 ISO20000 认证的企业 31 家 约占全球 10 1 居全球第五 软件质量保障工具应用逐步受到重视 截止到 2009 年 我国通过 ISO27001 认证的企业数量是 180 家左右 约占全球 总量的 3 5 第三方软件测试机构得到广泛认可 1 3 本文的主要工作 本文主要通过对 A 公司内现行的软件过程改进工作进行梳理总结 分析得出过 程管理方面存有的一些问题 在结合公司发展目标的前提下 阐述了目前情况下 为解决实际问题 需要对目前过程管理方式进行优化与改进 由于 A 公司总部设在 苏州 本文主要是基于苏州区域来论述过程改进相关工作 苏州区域已于 2008 年 4 月通过 CMMI ML3 的认证工作 公司内已形成了一整套标准的管理流程与体系规 范 这套标准的管理体系在具体项目中使用以后 出现了一系列问题 1 对于工期紧张 收入较低 项目规模较小的一些小型项目而言 要想全部 实施这套标准的管理流程与体系规范 根本是行不通的 2 公司内部负责项目的一些项目经理 项目负责人 管理意识较薄弱 花在项 目管理上的工作量较之甚少 或是一人兼职多个项目等现象 使得过程的执行受到 很大阻力 此时要想将标准的项目管理体系和规范应用到软件的开发过程之中 难 度是极其之大的 3 公司内的一些项目 由于工期的一再延后 需求变更的不断发生 造成实 际成本数据的不断增加 对于项目完成所需要的总费用支出 后续也没有一个明确 的判断依据 有的只是比较粗略的前期合同评审时的费用估算 这些估算只是建立 在对需求粗略了解的基础之上 第 1 章 绪论 13 在分析了现行过程改进工作中存在的问题后 提出了工作目标与计划 第一 建立一套适合于小型项目使用的轻量级过程体系 第二 建立针对项目经理的培训制度 定期对项目经理实施培训 第三 建立项目预算与成本跟踪系统 管理与控制好项目成本费用开支 以防 成本的无限增大 提早预测及控制项目成本 本文主要工作即是基于以上背景来进行新一轮的过程改进工作 以改善公司内 过程管理流程 提高项目开发管理水平 提高软件开发生产率 缩短项目开发周期 提高软件的工程化水平 1 4 论文的组织结构 全文共分为六部分 具体结构如下 第一章 绪论 主要介绍了本文研究的背景及意义 阐述了国内外在过程管理方面的发展现状及取 得的成果 同时对论文的研究内容及组织安排进行了说明 第二章 CMMI 模型介绍 主要介绍了 CMMI 模型的起源 实施方法和评估方法相关理论 以及 CMMI 与 CMM 模 型的比较 重点对 CMMI 模型结构 CMMI 模型涉及到的相关过程域 CMMI 模型的表 示方法以及模型表示方法相关等级分布进行了深度分析 第三章 过程管理现状和实施问题分析 主要对实际企业内现有的过程管理现状进行分析 找出实施过程中存在的主要问题 这些问题的提出为后面章节内容提供了实施改进依据 第四章 小型项目管理体系建立 主要针对企业内项目实施过程中存在的问题 提出建立适用于小型项目使用的一套 项目管理体系 体系建立时所涉及的相关内容有 体系建立的过程定义 体系整体 框架的分析 体系与 CMMI 模型的映射关系以及体系在具体项目实施时 应该重点 关注的几方面内容 第五章 项目管理子系统设计 本章节是基于软件过程管理方法改进的第二项内容 主要是建立一个辅助项目过程 管理的子系统 系统的主要功能是用于管理项目启动 项目启动后的预算制定以及 成本跟踪 第六章 改进效果与工作总结 本章节主要是对过程改进总体效果进行了量化分析 通过数据来说明过程改进效果 同时作者结合自身在企业中多年实践 提出了在软件过程管理中应该重点关注的内 容 文章最后对未来所要开展的工作提出了几个方向 第 1 章 绪论 14 1 5 本章小结 本章节主要介绍了本文的研究背景与研究意义 对国内外软件过程改进现状以 及发展趋势进行了深度研究与分析 同时介绍了本文所要进行的主要工作 以及对 论文的主要结构进行了说明 第 2 章 CMMI 模型介绍 15 第第 2 2 章章 CMMICMMI 模型介绍模型介绍 2 1 CMMI 模型概述 CMMI 全称是 Capability Maturity Model Integration 集成能力成熟度模型 是由美国卡耐基梅隆大学软件工程研究所 SEI 与美国政府及工业界代表人士 共同研制出的用于评估软件组织能力成熟度的标准模型 此模型是基于以下三种源 模型的基础上发展来的 软件能力成熟度模型 SW CMM V2 0 草案 C 集成的产品开发能力成熟度模型 IPD CMM V0 98 电子工业协会临时标准 EIA IS 731 系统工程能力模型 SECM CMMI 的最初版本是 2001 年发布的 CMMI SE SW v1 0 后续形成了三个主要的 CMMI 框架模型 30 32 见图 2 1 所示 目前这些模型的最新版本是 2010 年 11 月进行 的一次修订 图图 2 12 1 CMMI1 2 的三种模型 CMMI 最初是美国国防部的一个设想 希望将所有现存的与即将开发的各种能力 成熟度模型 集成到一个框架中去 这种集成有如下好处 33 1 可以降低基于多学科模型的过程改进成本支出 2 可以消除对多学科模型认识的不一致性 在整个组织范围内统一认识 3 减少组织在选择多模型进行过程改进时的一些重复性培训 评估工作 第 2 章 CMMI 模型介绍 16 4 提供公共术语描述 维护公共构件 5 确保与 ISO15504 评估要求的一致性 注 本论文论述的 CMMI 模型是 CMMI DEV 1 2 版本 2 1 1 CMMI 模型组件 CMMI 模型的核心组成部分是过程域 Process Area 过程域 34 是同属于某个 领域而彼此相关的实践集合 当这些实践共同执行时 可以达到该领域过程改进的 目标 过程域分成三个主要部件 必需的 Required 期望的 Expected 和信 息的 Informative 具体如下图 2 2 所示 图图 2 22 2 过程域的部件 2 1 1 1 必需部件 必需部件是过程域中最为重要的组成部件 是 CMMI 模型的基础 描述了组织进 行过程改进需要做的事及确定过程评估是否符合模型要求的基础 必需部件包括 35 特定目标 Specific Goals 和共性目标 Generic Goals 特定目标是相对于特定过程域来说的 即只适用于一个过程 特定目标在过程 评估时用来衡量该过程是否达到要求 例如 度量过程域 MA 的一个特定目标是 提供度量结果 共性目标是适用于多个过程域 体现了组织制度化实施的特征 例如 CMMI 阶 段式 2 级 有一个共性目标是制度化已管理过程 2 1 1 2 期望部件 第 2 章 CMMI 模型介绍 17 期望部件是具体实践活动集合 通过这些实践活动来实现必需部件的要求 CMMI 模型的期望部件是特定实践 Specific Practices 和共性实践 Generic Practices 36

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论