CMMI 笔记
前言:
CMMI:Capability Maturity Model Integration 软件能力成熟度模型
CMU/SEI:卡内基梅隆大学/软件工程研究所
CDIO:构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),工程教育模式。
从2000年起,麻省理工学院和瑞典皇家工学院等四所大学组成的跨国研究获得Knut and Alice Wallenberg基金会近2000万美元巨额资助,经过四年的探索研究,创立了 CDIO 工程教育理念,并成立了以 CDIO命名的国际合作组织。
第一章 软件工程基础
一 软件工程基本原理
1968年,联邦德国召开一次国际会议上提出“软件工程”。
1983年,著名软件工程专家波汉姆(Barry Boehm)通过论文提出软件工程7条基本原理。确保软件产品质量和开发效率的原理的最小集合。
1 按照软件生命周期的阶段划分制定计划,严格依据计划进行管理。
共有六类计划,项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划和运行维护计划。
2 坚持进行阶段评审。
统计结果显示63%缺陷来自设计阶段,并且发现于改正越晚,付出代价越高。每个阶段评审目的为了尽早发现错误。
3 实行严格的产品控制。
变需求需要付出代价,但需求变更符合客观需要,因此需要科学控制技术。主要实行基准配置管理(变更控制),定义基线,管理和控制基线。
4 采用现代程序设计技术。
实践表明,采用先进的技术提高开发效率同时,提高维护效率。
5 结果应能清楚审查。
软件产品作为逻辑产品,可视性差,难以度量。提高可视性,应根据目标和期限规定职责和标准,使之能够被审查。
6 开发小组的人员应当少而精。
高素质开发人员意味着高效率,高质量。人员增加意味着增加交流讨论开销。
7 承认不断改进软件工程实践的必要性。
通过过程分析,分析过程缺陷。开发工具,研究技术应对过程缺陷。
Barry Boehm简介:
软件工程估算模型COCOMO模型之父、软件过程螺旋式模型之父,美国国家工程院院士,AIAA、IEEE、ACM会士(Fellow)
当前及今后一个时期看,可采用的技术/产品管理方面的标准体系或模型:
二 质量管理体系ISO9001
由全球第一个质量管理体系BS5750(BSI英国标准协会撰写)转化而来。
1 质量管理原则
包括以顾客为中心,高层管理者推动,全员参与,采用过程方法,系统的管理,持续改进,基于事实的决策,互利的供方关系。
2 建立和实施质量管理体系的步骤
确定顾客的需求和期望,建立公司的质量方针和质量目标,确定实现质量目标所需的过程和职责,针对每个过程实现质量目标的有效性确定测量方法,通过测量,确定每个过程的现行有效性,确定防止不合格项并消除产生原因的措施,寻找提高过程有效性和效率的机会,确定并优先考虑那些能提供最佳结果的机会,为实施已确定的改进,对战略/过程和资源进行策划,实施改进计划,监控改进过程,对照预期结果评价实际结果,评审改进活动,确定必要的纠正/跟踪措施。
3 过程方法
任何“得到输入并将其转化为输出”的序列活动均可视为过程。系统识别和管理组织内所使用的过程,特别是这些过程的互相作用,称为过程方法。
三 项目管理知识体系 PMBOK
Project Management Body of Knowledge。由美国PMI对项目管理所需的知识/技能和工具进行的概括性描述。
1 项目基本属性
整体性,唯一性,一次性,目标性,多约束性,依赖性,冲突性,周期性。
2 项目参数
范围,进度,资源,成本和质量。
3 项目生命周期
定义,策划,实施,收尾。
4 项目管理基本过程
启动过程,策划过程,执行过程,控制过程,结束过程。
5 项目管理基本职能
项目整体管理,项目范围管理,项目时间管理,项目成本管理,项目质量管理,项目人力资源管理,项目沟通管理,项目风险管理,项目采购管理。
6 项目管理成熟度模型(PMMM)
Project Management Maturity Model。与CMMI类似分为初始级,可重复级,已定义级,受管理级,优化级。
四 软件能力成熟度模型集成CMMI
1 什么是CMMI
Capability Maturity Model Integration。目的是为提高组织过程和管理产品开发/发布和维护能力提供保障,帮助组织客观评价自身能力成熟度和过程域的能力,为过程改进建立优先级以及执行过程改进。
1984年,国防部希望将软件外包,委托CMU/SEI进行研究,制定工程制度,评估和改进开发过程和能力,已达开发功能正确,缩短开发进度,节约开发成本,确保软件质量目标。
1987年,Watts S.Humphreg提出关于软件的《过程成熟度模型框架和成熟度问卷简要描述》,之后再国防部软件承包商内试行CMMI评估。
1990年后,SEI把基于CMMI的评估作为商业行为推向市场。
1993年,SEI发布完整的SW-CMM v1.1。
CMM推出后,不同领域发展了自己的CMM系列,包括系统工程SE-CMM,集成和产品开发IPD-CMM,人力资源P-CMM等。
2000年12月,SEI发布成熟度模型集成,整合CMM v2.0,SE-CMM,IPD-CMM v0.98。
v1.3对模型进行化简,4/5级通用实践进行调整,机构改进与部署(OID)改为机构性能管理(OPM)
2 CMMI和过程改进
IDEAL,启动(Initiating),诊断(Diagnosing),建立(Establishing),行动(Acting),推进(Leveraging)。
诊断是识别和改进现有开发过程的过程。
3 CMMI结构框架
过程域(PA)表示整个过程改进活动中侧重关注或改进的某个方面的问题(维度)。v1.3版中共计22个过程域。
根据机构和项目组,项目管理,过程管理分类:
过程域间的关系:
4 CMMI的阶梯表示
22个过程域按阶梯式表示法(5级)分成四个组:
级别2 受管理级基本特征:
分派给项目组的项目需求得到管理。
项目的规模,工作量,成本,进度作了估计,并制定了项目开发计划,按照计划进行项目开发。
在开发全过程中,按计划对项目进行监督和控制。
过程和产品相对于计划和标准的符合性得到客观评价,纠正不符合项。
产品配置项及其变更得到管理。
定义了过程和产品的基本度量,进行测量,对测量数据进行分析。
供方协议得到管理。
级别3 已定义级:
达到级别2包含的每个过程域目标。
制定和维护机构标准过程集(OSSP Organization's Set of Standard Processes)。
建立和维护机构过程资产(OPA Organizational Process Assets)
OPA包含OSSP,生命周期描述,剪裁指南及准则,机构度量数据库(Repository),机构过程资产库(OPAL Organization's Process Assets Library)(过程数据库和文档),机构过程性能基线(OPPB,Organization's Process Performance Baselines)及其计算模型描述。
项目组一致遵循机构裁剪指南,对OSSP进行裁剪,形成项目自定义过程(PDP Project Definied Processes),按项目定义过程进行项目开发。
达到级别2和级别3所包含的所有过程域的目标。
过程制度化的程度应达到“已定义级”。
级别4 定量管理级
达到等级2,3和4所含每个过程域的特定目标。
达到等级2,3所含每个过程域的共性目标。
识别对过程性能和项目定量目标产生显著影响的过程或子过程,并采用统计学或其他定量技术定量地控制这些过程。
级别5 持续优化级
达到等级2,3,4和5所含过程域的全部特定目标。
达到2,3级所含过程域的共性目标。
根据对造成过程性能偏差的共同原因的定量理解,持续改进过程性能。
第二章 案例机构设置及岗位职责
一 案例介绍及机构设置
1 确定软件生命周期
瀑布模型适用于“以自身研发产品为核心的系统集成服务提供商”这一类公司使用。
欢迎C#或Winform技术交流,C#交流群:83868794