1、CMMI核心知识摘编BigOcean 张以海2019年12月26日BigOcean导航nCMMI简介n项目管理过程组简介n工程过程组简介n支持过程组简介n组织改进过程组简介软件管理工程的发展软件管理工程引起广泛注意源于20世纪70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理不善而引起,而并不是因为技术实力不够,进而得出一个结论,即管理是影响软件研发项目全局的因素,而技术只影响局部。到了20世纪90年代中期,软件管理工程不善的问题仍然存在,大约只有10%的项目能够在预定的费用和进度下交付。软件管理工程的发展:1.在经历了从70年代开始以结构化分析与设计、
2、结构化评审、结构化程序设计以及结构化测试为特征的结构化生产时代2.到90年代中期,以CMM模型的成熟模型和日益为市场接受为标志,已经进入以过程成熟模型CMM、个体软件过程PSP和群组软件过程TSP为标志的以过程为中心的时代3.而软件发展第三个时代,及软件工业化生产时代,从90年代中期软件过程技术的成熟和面向对象技术、构件技术的发展为基础的软件生产,软件工业已经或正在经历着软件过程的成熟化,并向软件的工业化渐进过渡。规范的软件过程是软件工业化的必要条件。软件过程研究的是如何将人员、技术和工具等组织起来,通过有效的管理手段,提高软件生产的效率,保证软件产品的质量。由此诞生了软件过程的三个流派:CM
3、U-SEI的CMM/PSP/TSP;ISO 9000质量标准体系;ISO/IEC 15504(SPICE)。什么是CMM1987年美国 Carnegie Mellon 大学软件工程研究所(CMU/SEI)以W.S.Humphrey为首的研究组发表了CMM/PSP/TSP 技术CMM是是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。CMM把软件开发组织的能力成熟度分为5个的等级。除了第1级外,其他每一级由几个关键过程方面
4、组成。每一个关键过程方面都由上述5种公共特性予以表征。CMM给每个关键过程定义了一些具体目标。按每个公共特性归类的关键惯例是按该关键过程的具体目标选择和确定的。如果恰当地处理了某个关键过程涉及的全部关键惯例,这个关键过程的各项目标就达到了,也就表明该关键过程实现了。这种成熟度分级的优点在于,这些级别明确而清楚地反映了过程改进活动的轻重缓急和先后顺序。SW-CMM(Capability Maturity Model For Software 软件生产能力成熟度模型,以下简称“CMM”),是87年由美国卡内基梅隆大学软件工程研究所(CMU SEI)应美国国防部DOD的需要研究出的一种一种用于评价软
5、件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。是目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准。什么是CMMI自从1994 年SEI 正式发布软件CMM 以来,相继又开发出了系统工程、软件采购、人力资源管理以及集成产品和过程开发方面的多个能力成熟度模型。于是,希望整合不同CMM 模型的需求产生了。CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。早期的CMMI(CMMI
6、-SE/SW/IPPD)1.02版本是应用于软件业项目的管理方法,随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。CMMI 与CMM 最大的不同点在于:CMMISM-SE/SW/IPPD/SS 1.1 版本有四个集成成分,即:系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及到供应商外包管理可以相应的应用SS(Supplier Sourcing)部分。CMMI评的是过程,而不是项目,是通过评估项目来评估组织过程能力。CMMI是美国国防部的一个设想。他们希望把所有现存的与将被发展出来的各种能力成熟度模型,集
7、成到一个框架中去。这个框架用于解决两个问题:第一,软件获取办法的改革;第二,从集成产品与过程发展的角度出发,建立一种包含健全的系统开发原则的过程改进。CMMI五级和焦点II级由项目定义过程和计划;III由组织给出约束和规范;IV给出估算和度量基线和体系,由项目根据历史经验根据项目特点进行估算,并动态进行数据统计估算并做动态趋势分析,并分析项目目标的来源和关系并决策分析,并根据项目因素对目标涉及因素进行分析和控制(要素管理)。1级-初始级2级-受管理级3级-已定义级4级-定量管理级5级-持续优化级阶段式评估表述方式阶段式评估表述方式(一般采用一般采用)连续式评估表述方式CMMI的概念体系n每一个
8、级别,都包含几个到十几个PA英文全写:Process Area中文译名:过程域n什么叫“过程域”?简单的说就是做好一个事情的某一个方面。对应软件开发来说,就是做好软件开发的某一个方面。CMMI概念体系图级别级别PA1PA2Goal1Goal2Practice1Practice2Practice3.CMMI的概念体系n如果该级别的全部PA达到要求了,就认为该级别达到了。n如何判断PA达到要求呢?每个PA包含几个目标(Goal),简称SG如果这个几个目标都达到要求了,就认为该PA达到要求了n如何判断Goal达到要求呢?每个Goal包含几个实践(Practice),简称SP每个实践达到要求了,就认为
9、该Goal达到要求了n评估一个企业是否达到某级别的标准,评估的关键就是每个Practice的实际情况。n需要评估企业25%左右的项目,从项目找直接证据、间接证据大概:(1+X个项目)*(SP+GP)*2每个PA大概200条证据,4级大概需要4000条证据CMMI的组成和分解做事的广度做事的深度SEI访谈了访谈了107家成功的软件企业,接合软件过程的广度和深度,总结了家成功的软件企业,接合软件过程的广度和深度,总结了761条最佳实践和条最佳实践和26个深度分析,归纳为个深度分析,归纳为173个个SP、17个个GP,并归为,并归为22个个PA、5个个GG和和5个级别个级别761条条SSP26级级1
10、73条条SP22个个PA17个个GP级级5个等级个等级4个过程组个过程组PM 过程组过程组EG 过程组过程组SP 过程组过程组PR 过程组过程组PPPMCSAMII(7)III(11)IVIVREQMCMPPQAMARSKMIPM(IPPD)RDTSPIVERVALDAROPFOPDOTQPMOPPCAROID所有的过程组在项目中都为PmPas(过程组)服务,并被QPM集成级别和过程域对照通用术语(1/2)p CMMI(Capability Maturity Model Integration):能力成熟度集成模型;p EPG(Engineering Process Group):工程过程小组
11、;p ISO(International Organization for Standardization);p ATM(Assessment Team Member):评审小组成员;p REQM(Requirements Management):需求管理;p RD(Requirements Development):需求开发;p TS(Technical Solution):技术解决方案;p PI(Product Integration):产品集成;p PP(Project Planning):项目策划;p PMC(Project Monitoring and Control):项目监控;p
12、 IPM(Integrated Project Management):集成项目管理;p RSKM(Risk Management):风险管理;通用术语(2/2)p QPM(Quantitative Project Management):量化项目管理;p DAR(Decision Analysis and Resolution):决策分析与制定;p PPQA(Process and Product Quality Assurance):过程与产品质量保证;p VER(Verification):验证;p VAL(Validation):确认;p CM(Configuration Manage
13、ment):配置管理;p OPF(Organizational Process Focus):组织过程焦点;p OPD(Organizational Process Definition):组织过程定义;p OPP(Organizational Process Performance):组织过程性能;p MA(Measurement and Analysis):度量与分析;p OT(Organizational Training):组织级培训;过程域的四类CMM四条主线CMMI四条主线CMMI四条主线示例图SW-CMMI的视角PAL组织过程财富库PDB 组织过程数据库Tailor裁剪指南LC软
14、件生命周期模型OSSP 组织标准软件过程开发环境PPM预测模型(因果分析)基线和能力趋势分析数据定义和收集、应用体系(项目级、阶段级、活动级数据)四级关注以下四级关注以下4点,并用数据说话,用概率论、统计学来思考点,并用数据说话,用概率论、统计学来思考:1)建立组织能力基线数据库供项目进行估算和趋势预测)建立组织能力基线数据库供项目进行估算和趋势预测2)项目根据原始估算在阶段时对项目状态进行动态估算,并动态分析项目目标趋势)项目根据原始估算在阶段时对项目状态进行动态估算,并动态分析项目目标趋势3)项目明确目标从哪里来,并分析目标优先级,进行决策分析)项目明确目标从哪里来,并分析目标优先级,进行
15、决策分析4)分析项目目标影响的因素并根据)分析项目目标影响的因素并根据PPM进行目标影响分析和预测进行目标影响分析和预测度量和目标体系分解项目成功隐含标准CMMI的管理运作体系SEIDODPartner讲师HMLALACMMI For DEV 1.2SCAMPI ACMMI1-3级企业CMMI4-5级企业授权挂靠授权登记登记审计审计评估评估授权企业数据库人员数据库年度大会(风向标)资助实施模型(公司管理体系CMM3模型)项目管理过程项目管理过程软件工程过程软件工程过程机构支撑过程机构支撑过程技术评审配置管理质量保证培训管理系统测试发布部署实施部署需求开发系统设计编码与测试集成测试项目计划需求管
16、理项目跟踪结项管理风险管理立项管理项目承接过程项目承接过程产品维护过程产品维护过程导航nCMMI简介n项目管理过程组简介项目管理过程组简介n工程过程组简介n支持过程组简介n组织改进过程组简介1.PTM PASBasic PTM PAS产品组件需求PP项目计划n目的目的:项目计划(Project Planning,PP)的目的,在建立并维护用以定义项目活动的计划。n目标和实践目标和实践SG 1 建立估计值nSP 1.1 估计项目范围nSP 1.2 建立工作产品与工作属性的估计值nSP 1.3 定义项目生命周期nSP 1.4 决定工作量与成本的估计值SG 2 开发项目计划nSP 2.1 建立预算和
17、进度nSP 2.2 识别项目风险nSP 2.3 策划数据管理nSP 2.4 策划项目资源nSP 2.5 策划所需知识和技能nSP 2.6 策划干系人的参与nSP 2.7 建立项目计划SG 3 取得对计划的承诺nSP 3.1 审查影响项目的各种计划nSP 3.2 调整工作和资源水平nSP 3.3 取得计划承诺PMC项目监控n目的:项目监控(Project Monitoring and Control,PMC)的目的在了解项目进度,以便在项目执行绩效严重偏离项目计划时,可采取适当的纠正措施。n目标和实践:SG 1 按照计划监控项目nSP 1.1 监控项目策划的各项参数nSP 1.2 监控承诺事项n
18、SP 1.3 监控项目风险nSP 1.4 监控数据管理nSP 1.5 监控干系人的参与nSP 1.6 进行进度审查nSP 1.7 进行里程碑审查SG 2 管理纠正措施直到结项nSP 2.1 分析问题nSP 2.2 采取纠正措施nSP 2.3 管理纠正措施IPM集成项目管理n目的:集成项目管理(Integrated Project Management,IPM)的目的,是建立和管理项目以及参与根据组织标准流程定义识别一套标准过程的相关干系人。n目标和实践SG 1 使用的已定义过程nSP 1.1 建立的已定义过程nSP 1.2 使用组织过程资产策划活动nSP 1.3 建立工作环境nSP 1.4 集
19、成计划nSP 1.5 使用集成计划管理nSP 1.6 贡献组织过程资产SG 2 与干系人协调与合作nSP 2.1 管理干系人参与nSP 2.2 管理相互依存关系nSP 2.3 解决协调议题RSKM风险管理n目的:风险管理(Risk Management,RSKM)的目的是在风险发生前,识别出潜在的问题,以便在产品或项目的生命周期中规划风险处理活动,并于必要时启动风险管理,如此可将不利于完成目标的影响降低。n目标和实践SG 1 使用的已定义过程nSP 1.1 建立的已定义过程nSP 1.2 使用组织过程资产策划活动nSP 1.3 建立工作环境nSP 1.4 集成计划nSP 1.5 使用集成计划管
20、理nSP 1.6 贡献组织过程资产SG 2 与干系人协调与合作nSP 2.1 管理干系人参与nSP 2.2 管理相互依存关系nSP 2.3 解决协调议题QPM量化项目管理 n 目的:化项目管理(Quantitative Project Management,QPM)过程域的目的,在于以化的方式管理已定义过程,以达成项目既定的质量及过程绩效目标。n目标和实践SG 1 化项目管理nSP 1.1设定项目目标nSP 1.2组合已定义过程nSP 1.3选定纳入统计化管理的子过程nSP 1.4管理项目绩效SG 2统计化管理子过程的绩效nSP 2.1选定度及分析技术nSP 2.2应用统计方法了解变异nSP
21、2.3监控选定子过程的绩效nSP 2.4记录统计管理数据导航nCMMI简介n项目管理过程组简介n工程过程组简介工程过程组简介n支持过程组简介n组织改进过程组简介2.Engineer PASRD 需求开发n目的:需求开发(Requirements Development,RD)的目的,在于产出并分析客户、产品及产品组件的需求。n目标和实践SG 1开发客户需求nSP 1.1 引导需要nSP 1.2 开发客户需求SG 2开发产品需求nSP 2.1 建立产品与产品组件需求nSP 2.2 配置产品组件需求nSP 2.3 识别接口需求SG 3分析并确认需求nSP 3.1 建立操作概念及场景nSP 3.2
22、建立必要功能的定义nSP 3.3 分析需求 nSP 3.4 分析需求以取得平衡 nSP 3.5 确认需求REQM 需求管理n目的需求管理(Requirements Management,REQM)的目的,在于管理项目产品及产品组件的需求,并界定这些需求与项目计划及工作产品间的差异。n目标和实践SG 1 管理需求nSP 1.1了解需求nSP 1.2取得需求承诺nSP 1.3管理需求变更nSP 1.4维护需求的双向追溯性nSP 1.5界定项目工作与需求间的差异TS技术解决方案n目的:技术解决方案(Technical Solution,TS)的目的,为设计、开发及实现需求的解决方案。解决方案、设计结
23、果及实现成品包括产品、产品组件,以及与产品相关生命周期的单一过程或适当组合的过程。n目标和实践SG 1 选择产品组件解决方案nSP 1.1 开发备选解决方案及评选准则nSP 1.2 选择产品组件解决方案SG 2 开发设计nSP 2.1 设计产品或产品组件nSP 2.2 建立技术相关数据nSP 2.3 使用准则设计接口nSP 2.4 执行自制、购买或再用之分析SG 3 实现产品设计nSP 3.1 实现设计nSP 3.2 建立产品支持文件PI产品集成n目的:产品集成(Product Integration,PI)的目的,在于将产品组件组合为产品、确保已集成的产品能适当地运作及交付产品。n目标和实践
24、SG 1准备产品集成nSP 1.1 决定集成顺序nSP 1.2 建立产品集成环境nSP 1.3 建立产品集成程序与准则SG 2确保接口兼容性nSP 2.1 审查接口说明的完整性nSP 2.2 管理接口SG 3组合产品组件并交付产品nSP 3.1 确定欲集成的产品组件已准备就绪nSP 3.2 组合产品组件nSP 3.3 评估已组合的产品组件nSP 3.4 包装并交付产品或产品组件VER验证n目标:验证(Verification,VER)的目的,在于确保选定的工作产品符合其指定的需求。n目标和实践SG 1 验证准备nSP 1.1 选择需验证之工作产品nSP 1.2 建立验证环境nSP 1.3 建立
25、验证程序及准则SG 2 执行同行审查nSP 2.1 准备同行审查nSP 2.2 进行同行审查nSP 2.3 分析同行审查资料SG 3 验证工作产品nSP 3.1 执行验证nSP 3.2 分析验证结果n包含了评审和测试等方面VAL确认n目的:确认(Validation,VAL)的目的,在于展示置于预期环境中的产品或产品组件,可满足其预期的使用需求。n目标和实践SG 1确认准备nSP 1.1 选择需确认之产品nSP 1.2 建立确认环境nSP 1.3 建立确认程序与准则SG 2 确认产品或产品组件nSP 2.1 执行确认nSP 2.2 分析确认结果n包含了发布部署、提交客户验证等过程工程类SG S
26、P结构图导航nCMMI简介n项目管理过程组简介n工程过程组简介n支持过程组简介支持过程组简介n组织改进过程组简介3.Support PASCM配置管理n 目的:配置管理(Configuration Management,CM)的目的,在使用配置识别、配置控制、配置状态记录及配置审计,来达到建立与维护工作产品的完整性。n目标和实践SG 1建立基线nSP 1.1识别配置nSP 1.2建立配置管理系统nSP 1.3建立或发行基线SG 2跟踪并管理变更nSP 2.1跟踪变更申请nSP 2.2管理配置SG 3建立完整性nSP 3.1建立配置管理记录nSP 3.2实施配置审计PPQA过程与产品质量保证n目
27、的:过程与产品质量保证(Process and Product Quality Assurance,PPQA)的目的,在提供成员与管理阶层客观洞察过程与相关工作产品。n目标和实践 SG 1客观评估过程与工作产品nSP 1.1客观评估过程nSP 1.2客观评估工作产品及服务SG 2提供客观的洞察力nSP 2.1沟通并确保解决不符合的议题nSP 2.2建立纪录MA度量分析n目的:度分析(Measurement and Analysis,MA)的目的在发展与维持度能力,以支持管理的信息需求。n目标和实践SG 1安排度分析的活动nSP 1.1建立度目标nSP 1.2指定度nSP 1.3指定数据搜集与储
28、存程序nSP 1.4指定分析程序SG 2提供度结果nSP 2.1搜集度资料nSP 2.2分析度资料nSP 2.3储存数据与结果nSP 2.4沟通结果CAR因果分析及决议n目的目的:因果分析及决议(Causal Analysis and Resolution,CAR)的目的,在于识别造成缺陷和其它问题的原因,并采取行动以避免未来再次发生。n目标和实践SG 1决定造成缺陷的原因nSP 1.1 选择待分析的缺陷数据nSP 1.2 分析原因SG 2 处理造成缺陷的原因nSP 2.1 实施行动建议方案nSP 2.2 评估变更的效果nSP 2.3 记录相关数据DAR决策分析及决议n目的:决策分析及决议(D
29、ecision Analysis and Resolution,DAR)的目的,在于使用正式评估过程,依据已建立的准则评估各种已识别的备选方案,以分析可能的决策。n目标和实践 SG 1 评估备选方案nSP 1.1 建立决策分析指南nSP 1.2 建立评估准则nSP 1.3 识别备选解决方案nSP 1.4 选择评估方法nSP 1.5 评估备选方案nSP 1.6 选择解决方案导航nCMMI简介n项目管理过程组简介n工程过程组简介n支持过程组简介n组织改进过程组简介组织改进过程组简介4.Process Management PASOPF组织过程专注n目的:组织过程专注(Organizational
30、Process Focus,OPF)的目的在于以充分了解现行组织过程及过程资产的优点与缺点为基础,策划、执行与开展组织过程改进。n目标和实践 SG 1 管理决定过程改进机会需求nSP 1.1建立组织过程需要nSP 1.2评鉴组织过程nSP 1.3界定组织过程改进SG 2策划与执行过程改进nSP 2.1 建立过程行动计划nSP 2.2 执行过程行动计划SG 3开展组织过程资产及汇整学习心得nSP 2.1开展组织过程资产nSP 2.2开展标准过程nSP 3.3 监督执行nSP 3.4 汇整过程相关经验纳入组织过程资产OPD组织过程定义n 目的:组织过程定义的目的是建立并维护可用的组织过程资产与工作
31、环境标准。n目标和实践SG 1 建立组织过程资产nSP 1.1 建立标准过程nSP 1.2 建立生命周期模式说明nSP 1.3 建立定制准则及指南nSP 1.4 建立组织度储存库nSP 1.5 建立组织过程资产库nSP 1.6 建立工作环境标准OT组织培训n目的:组织培训(Organizational Training,OT)的目的,在于扩展人员的技能与知识,使其有效的执行他们的任务。n目标和实践SG 1 建立组织培训能力nSP 1.1建立策略性培训需求nSP 1.2决定哪些培训需求是组织的责任nSP 1.3建立组织培训的实施计划nSP 1.4建立培训能力SG 2 提供必要的培训nSP 2.1
32、实施培训nSP 2.2建立培训记录nSP 2.3评估培训效果OPP组织过程性能n目的:组织过程性能(Organizational Process Performance,OPP)的目的在于建立并维护量化模式,以藉此了解组织用于支持质量与过程绩效目标的标准过程的绩效,并提供过程绩效数据、基线及模式,以便以量化方式管理组织的项目。n目标与实践 SG 1建立绩效基线及模式nSP 1.1选定过程nSP 1.2建立过程绩效度nSP 1.3设定质量及过程绩效目标nSP 1.4建立过程绩效基线nSP 1.5建立过程绩效模式OID组织创新与推广 n目的:组织创新与推广(Organizational Innovation and Deployment,OID)的目的,在于选择与推广具渐进和创新效果的各种改进措施。这些改进措施以可度的方式,改进组织过程和技术,也支持由组织经营目标导出的质量和过程绩效目标。n目标与实践SG 1 选择改进措施nSP 1.1 搜集并分析改进建议nSP 1.2 识别并分析创新nSP 1.3 试行改进措施nSP 1.4 选择改进措施以便推广nSG 2 推进改进措施nSP 2.1 策划推广计划nSP 2.2 管理推广工作nSP 2.3 度改进效果谢谢!