480 likes | 939 Views
用 CMMI 模型提高组织的能力. 国家软件标准化推广中心 林 平. 内容提要. 软件组织为何要引入 CMMI ? 软件组织面临的挑战和问题 实施 CMMI 的成效 CMMI 对国内软件组织的影响 CMMI 模型简介 模型的基础理念 CMM 模型的产生 CMMI 模型的结构 CMMI 过程域 软件组织实施 CMMI 的途径 实施 CMMI 的途径 成功的要素. 软件组织为何要引入 CMMI ?. 企业面临更多的挑战与市场竞争 新的发展方向和机会 软件外包服务,业务合作 “ 认证 ” 要求 – 市场宣传、投标资质、顾客的压力 ……
E N D
用CMMI模型提高组织的能力 国家软件标准化推广中心 林 平
内容提要 • 软件组织为何要引入CMMI? • 软件组织面临的挑战和问题 • 实施CMMI的成效 • CMMI对国内软件组织的影响 • CMMI模型简介 • 模型的基础理念 • CMM模型的产生 • CMMI模型的结构 • CMMI过程域 • 软件组织实施CMMI的途径 • 实施CMMI的途径 • 成功的要素 Page
软件组织为何要引入CMMI? • 企业面临更多的挑战与市场竞争 • 新的发展方向和机会 • 软件外包服务,业务合作 • “认证” 要求 –市场宣传、投标资质、顾客的压力…… • ISO9001,CMMI,信息安全,知识产权保护 • 顾客满意度,要求按时交付产品;以较低的成本、开发出更多功能、更好质量的产品 • 企业能力提升的要求 • 业务和规模和扩展(开发团队人员增加) • 更复杂的产品 • 人员流失(组织的知识资产没有保留和积累) • 项目的可预见性不足 Page
很多不成熟的软件组织面临的问题 项目有可能获得良好的性能和结果,但是 • 需求经常得不到一致的理解,并且往往是不受控制地进入项目 • 进度和预算经常得不到保障 • 项目的进展无法度量 • 产品的内容没有跟踪和控制,版本混乱 • 工程活动没有标准,实施得不一致 • 开发团队没有经过培训,相互间不协调 • 缺陷增生 • 项目的成功依赖于技术骨干 质量?“一切取决于进度” Page
CMMI 业界公认的能力提升模型 • CMMI 是由美国卡内基-梅隆大学软件工程研究所(SEI)发布的技术报告 • 软件过程改进方面得到国际认可的标准 • 为国内外众多大、中型软件/IT公司广泛推行 • 有数据表明CMM模型有助于改善企业内部管理 • 指导企业从一个杂乱、不成熟的状况向成熟、规范的过程演进 Page
SEI 收到45个国家/地区的评估报告 数据截至06年3月 Page
CMMI评估次数和等级 数据至06年3月 Page
过程改进的成效 • N = 24, as of 9 November 2005 • Organizations with results expressed as change over time Page
140% 波音公司 工作量估计 Over/Under Percentage 0% -140% Without Historical Data With Historical Data Variance between-20%to+20% Variance between+20%to-145% (Level 3) (Mostly Level 1&2) (Based on 120 projects in Boeing Information Systems) Reference:John D.Vu.”Software Process Improvement Journey:From Level 1 to Level 5.” 7th SEPG Conference,San Jose,March 1997. Page
L3 . 25% . L2 45% 10% . L1 ‘88 ’89 ‘90 ’91 ‘92 ’93 ‘94 ’95 软件生产率的提高 Software Productivity in SLOCS / Day 80% Total Software Maturity Growth and Automation Resulted In 80% Software Productivity Improvement Reference: Presented atSEPG 99 Page
质 量 改 进 Page
过程改进产生的变化 额外回报 增加贸易 文 化 扩展市场 降低价格 策 略 组织过程财富 过程改进的机制 建立过程 降低成本 结 构 提高生产率 提高质量 技 能 成功的过程改进带来的“链式反应” 过程改进的基础设施 Page
CMMI对国内软件企业发展的推动 • 国内软件企业短期内快速开展过程改进和评估,虽然存在各种各样的问题和争论,也缺少富有说服力的定量的投资收益数据,但在以下方面的收益是不容置疑的: • 培养了一批软件过程改进人才,尤其是 SEPG 组长; • 软件从业人员的质量管理和过程改进意识得到极大提高; • 软件企业项目管理、开发过程管理水平得到较快提高; • 对于有一定规模的软件企业,过程改进和评估可以更好地促进其健康稳定的成长; • 软件开发和生产活动的规范化,为软件产业的快速发展奠定了基础。 信息来源:信产部科技司 05 年 12 月软件过程改进与评估推进座谈会 Page
CMMI模型简介 什么是CMMI? • CMMI – 能力成熟度模型集成 Capability Maturity Model Integration • 软件过程改进方面得到国际认可的标准 • 目的:为软件组织改进和提高过程能力提供指南 • 内容:涵盖系统工程和软件工程管理的最佳实践 - 涉及产品的开发和维护活动、覆盖产品从概念提出到交付和维护的整个生存周期。 • 评估组织当前开发管理状况的标尺 Page
CMMI不是 • 一套可以直接拿来用的过程 • 模型的实践只是告知要做的事,但并未说明如何来做。 • 局限于单一的学科领域(如:软件工程) • 系统工程,IPPD • 可以马上解决所有问题的“银弹” • 只适用于规模较大的组织和较大型的项目 • 有相当多的小型组织的评估实例 Page
技 术 Q & P 过 程 人 为何要关注过程 “产品的质量在很大程度上取决于 用以开发和维护该产品的过程的质量。” Based on TQM principles as taught by Shewhart, Juran, Deming and Humphrey. Page
什么是过程? 为实现预定目的而执行的一组实践;过程包含工具,方法,材料及人员。 Page
了解过程 • 规定了实现预定目的或成果所要完成的一系列活动/任务 - 要做什么; • 执行活动相关的角色和职责 – 谁来做; • 完成活动所要采用的技术、方法和步骤 – 如何去做 Page
The work is done quite well 一个混沌的过程 顾 客 可接受的产品 输 入 返 工 Page
妥善定义的过程 软 件 开 发 活 动 Out In / / / / / / 质量目标 和 支持活动的计划 质 量 门 Page
过程改进 过程度量 过 程 控 制 过程制定 过程实施 需 求 CMMI的核心理念 -过程管理 Page
CMM的产生 项目状况统计 (Chaos Report 1999) • 将近有1/3的IT (计算机和软件) 项目在完成前被撤消。 • 项目在预算上的平均超支达到 189% • 具有一定难度项目在进度上的平均超时达 222% • 一般来讲,项目所交付的产品只包含了最初所规定特性的 61% • 只有26% (约5分之1 )的软件项目按时间和预算的要求完成。 Source: The Standish Group 制约项目成功的主要问题不是技术而是管理问题! Page
CMMI 的历史和演变 1987 1991 1993 1995 2000 1997 2002 2005 06 2007 SW-CMM v1.1 Published CMM Framework Published CMMI-SE/SW Version 1.0 Published SW-CMM v1.1 Sunset CMMI Version 1.1 Sunset CMMI-SE/SW/IPPD/A Version 1.1 Published CMMI Initiative Launched Model Refined and Published as SW-CMM v1.0 CMMI-DEV Version 1.2 Publish Software Acquisition (SA-CMM), Systems Engineering (SE-CMM), Integrated Product Development (IPD-CMM), Organizational Workforce Capability Development (People CMM) Developed Page
CMMI相关历史 • 1930s:Walter Shewhart开始了基于统计质量控制原理的过程改进。 • 1980s: W. Edwards Deming, Joseph Juran,进一步发展了这些原理; • 1987年 Watts Humphrey 发布过程改进原理在软件工程应用的成果 - 成熟度框架。 • 1991年8月: 基于Watts Humphery 等人的工作, SEI建立了第一个CMM模型:SW-CMM。 • 自1991年以来,相继有多个学科领域的CMM模型问世:SE-CMM, P-CMM, IPD-CMM等。 • 1997年美国国防采购与技术办公室领导了一个由政府、企业和SEI的代表组成的团队开始开发一个CMM模型的集成框架。 • 2002年1月CMMI V1.1正式发布,并立即被广泛采用,截止到2006年初已有超过1500个基于CMMI的评估报告给了SEI。 • 2006年8月,CMMI V1.2正式发布。 Page
CMMI 产品结构 CMMI for Development V 1.2 IPPD Addition 集成产品与过程开发 附加内容 CMMI for Development 开发CMMI HW Related Examples 硬件工程相关的实例 SE Related Examples 系统工程相关的实例 CMMI for Service CMMI for Acqusition SW Related Examples 软件工程相关的实例 服务CMMI 采购 CMMI CMMI Core (22 Process Areas) CMMI核 (22个过程域) Page
CMMI 产品系列 培训 评估方法 Introduction To CMMI CMMI Appraisal CMMI Intermediate Concept SCAMPI Class A Team Training ARC V1.2 CMMI Instructor Training CMMI Lead Appraiser Training SCAMPI V1.2 ARC - Appraisal Requirements for CMMI SCAMPI - Standard CMMI Appraisal Method for Process Improvement Page
CMMI-Dev 阶段型 CMMI-Dev 连续型 能力等级 0 1 2 3 4 5 过程能力 PA PA PA CMMI 模型概要 一个模型 二种表现 阶段型 连续型 ML5 ML4 ML3 ML2 ML 1 组织的成熟度等级 Page
Optimizing 5 持续优化级 关注过程改进 Quantitatively Managed 4 过程得到测量和控制 定量管理级 Defined 3 过程为组织而制定 已定义级 Managed 过程为项目而制定 而且经常是反应式的 受管理级 2 Initial 1 过程不可预测, 控制差,反应式的 初始级 成熟度等级 - 阶段型 Page
质 量 生产率 关注于 成熟度等级 过 程 域 组织革新和部署 原因分析与解决 5 持续优化级 持续的过程改进 定量管理 4 定量管理级 组织过程性能 定量项目管理 需求开发 技术解决 产品集成 验证 确认 组织过程焦点 组织过程定义 + IPPD 组织培训 集成项目管理 + IPPD 风险管理 决策分析与解决 3 已定义级 过程标准化 需求管理 项目策划 项目监督和控制 供方协定管理 测量和分析 过程和产品质量保证 配置管理 基本的项目管理 2 受管理级 风 险 返 工 1 初始级 阶段型按成熟度等级划分过程域 共计 22 Page
CMMI阶段型 - 结构 成熟度等级 ML 过程域 1 过程域 2 过程域 n PA 通用目标 特定目标 GG SG 特定实践 通用实践 GP SP Page
过程域 (Process Area) • 过程域是一系列实践和目标的集合,通过执行这些实践就能实现一组相应的目标。 • 例如,项目策划 PP Page
特定实践和通用实践 • 特定实践描述为了达到某个过程域的特定目标所期望进行的活动。 • 例如,PP PA SP 1.4:建立工作量和成本的估计值 基于估计原理估计项目工作产品和任务的工作量和成本。 • 通用实践确保制度化,使得与该过程域相关联的过程都有效、可重复且持续。 • 例如,GP 3.2:收集改进信息 收集从策划和实施本过程导出的工作产品、测量、测量结果和改进信息,以支持将来使用和改进本过程和过程财富。 Page
过程域 类 型 过程域 类 型 • 持续优化级 • 4定量管理级 • 已定义级 • 已管理级 • 已执行级 • 0不完整级 组织过程焦点 (OPF) 组织过程定义 (OPD) 组织培训 (OT) 组织过程性能 (OPP) 组织革新和部署 (OID) 需求管理 (RM) 需求开发 (RD) 技术解决 (TS) 产品集成 (PI) 验证 (VER) 确认 (VAL) 过程管理 工程 项目策划 (PP) 项目监督和控制 (PMC) 供方协定管理 (SAM) 集成项目管理 (IPM) 风险管理 (RSKM) 定量项目管理 (QPM) 测量和分析 (MA) 过程和产品质量保证(PPQA) 配置管理 (CM) 决策分析和解决 (DAR) 原因分析和解决 (CAR) 项目管理 支持 PA x 连续型按类别划分过程域 共计 22 Page
组织实施CMMI的途径 • 了解CMMI • 确立过程改进的目标 • 建立过程改进的组织机构 • 资源支持 • 建立过程体系 • 项目实施与改进 • 正式评估 Page
规 范 化 推 行 采纳并吸收 试 用 先导试验 承 诺 理 解 了解和意识 信息转化 接 触 时 间 了解CMMI 承诺与改变的程度 • 确保领导层的支持 • 接受CMMI的有关培训 • 做好组织变革的准备 Page
确立过程改进的目标 • 结合组织的发展和商业目标 • 市场的要求:企业形象,提供软件外包服务,认可的资质…… • 提高组织开发管理能力、产品质量、顾客满意度…… • 分析组织的现状 • 企业已进入发展期 • 是否需要规范化的管理机制? • 确定改进的行动路线 • 成熟度等级 • 改进的周期 Page
改进的周期 • SEI 统计 • 从L1达到CMMI L2 通常需要22个月 • 从CMMI L2达到L3 还需要18个月的努力 • 国内情况估计 • 从L1达到CMMI L3一般需要12个月 Page
管理指导 委员会 EPG 行动组 A 行动组 N 工 作 组 建立过程改进的组织机构 管理指导委员会:MSG Management Steering Group EPG:工程过程组 (Engineering Process Group) Page
资源支持 • 政府鼓励过程改进的政策和资金 • 资金准备 • 外部咨询、培训与评估费用(30-50万) • 内部EPG投入的工作量 • 考察和选择适当的咨询机构 Page
软件工程及评估中心 • 隶属中国电子技术标准化研究所 • 从事软件工程相关标准的研究和制定 • 软件生存周期过程 • 软件能力评估标准(SJ/T11234-5) • 从事软件过程改进的咨询、培训和评估 • 提供 CMMI过程能力和成熟度咨询和评估服务 • 软件过程评估师培训 Page
建立过程体系 • 组织标准过程集会(OSSP) • 组织过程财富库 • 测量数据库 Page
项目实施与改进 • 确定2-3个试运行/评估项目 • 组织的典型类型的项目 • 覆盖完整的开发周期 • 参与人员达到开发人员的50%以上 Page
L3 正式评估 • 组建评估组 • 组长:SEI注册的主任评估师 • 内部成员:2-3人,接受CMMI和ATM相关培训 • 外部成员:咨询机构或外部组织1-3人 • 拟定评估计划 • 评估进程:CMMI L3 评估6-7天;L2评估5-6天 • 执行评估 • 现场访谈:高层、中层和项目管理者;实践人员 • 报告结果 • 向被评估组织报告 • SEI评估结果备案与公告 Page
过程改进效果的预期 生产率 改进后1 改进后2 改进前 困难点 时间 通过CMMI等级评估! Page
成功实施CMMI的一些关键要素 • 高层管理者明确的目标,提供有力的支持,协调资源; • 建立推进过程改进的团队,按项目管理方式实施管理; • 组织成员的积极参与+个人相关知识和能力的提升 • 理解模型的要求并结合本组织实际; • 借鉴外部的实施经验; • 形成持续过程改进的机制。 Page
小结 • 建立完善的过程并不断推进过程改进是软件组织得以发展和能力提升的必经途径 • CMMI是推动过程改进的工具和指南 • 结合软件组织的发展目标和条件确定改进时机和方法 • 将相关的知识体系、业界的良好实践与本组织的实际相结合 Page
更多信息 • 访问SEI的CMMI网站以了解关于CMMI的更多信息: http://www.sei.cmu.edu/cmmi • 软件工程及评估中心 Tel:010-84029861 Mail:linping@cesi.ac.cn Page