CMMI高成熟度培训知识内部交流.docx
《CMMI高成熟度培训知识内部交流.docx》由会员分享,可在线阅读,更多相关《CMMI高成熟度培训知识内部交流.docx(19页珍藏版)》请在冰豆网上搜索。
CMMI高成熟度培训知识内部交流
CMMI高成熟度理论与实施培训总结
1.高成熟度实施框架:
●实施框架要非常清楚。
过程改进与项目开发联系起来。
应用场景先考虑清楚。
不要一上来就定度量项,建立基线和模型,而不知道为什么要做这些。
●高成熟度框架如何建立(五步曲):
1)描述商业目标;
2)列举为实现商业目标公司主要的过程和活动;
3)针对某一目标选2-3个最关键的过程,作为重要的目标;
4)对选中的目标,明确是否需要定义量化目标;
5)定义哪些目标要做统计过程控制和模型。
CMMI四级对商业目标的信息有要求(董事会:
商业目标;EPG:
商业目标分解):
●要素:
时间、多少的项目达到什么状态,置信度多少?
约束条件(比如在保证质量的情况下,进度偏差率。
。
.。
。
).还有中间目标?
●比如:
组织3-5年的远景(对竞争对手相比,3-5年公司会是怎么样?
)(3-5年后,客户怎么看我们)
●比如:
到什么时候,多少项目因为质量原因导致的成本在多少?
目标分解矩阵
目标分解矩阵
目标
主要过程活动
goal1
goal2
goal3
goal4
goal5
goal6
goal7
过程活动1
X
X
过程活动2
X
X
X
过程活动3
X
X
过程活动4
X
过程活动5
X
过程活动6
2
X
X
X
X
过程活动7
过程活动8
2★
X
X
X
说明:
1)“X”表示目标相关的过程活动;
2)“2”表示要建立过程性能目标;
3)“★”表示要进行量化控制;
●关键子过程的选择准则:
各工程活动对子过程影响最大的;发现越多缺陷的过程,就是选择的对象。
比如:
选择关键子过程:
产品质量目标:
客户看到的缺陷保证在多少范围内以内——分析有哪些关键过程?
(比如详细设计评审、代码评审、系统测试)这些就是关键子过程,需要有一些量化的控制。
●目标之前有强相关,关注一个重要的就行.
●项目目标,每一个都要有一组模型来帮助项目预测。
●建立项目度量目标,一定是对项目经理等人有用的、是客户关注的。
举例:
项目客户要求9天内完成。
●根据历史数据,项目需要8-10天完成,概率是?
——不是有能力的过程,不稳定.
●根据历史数据,项目需要14天完成
●根据历史数据,项目需要6_8天完成—-有能力过程!
上述项目经理可以得到哪些有用信息?
2.基线建立
建立基线的方法:
建立基线需要注意:
a)样本数少于20个点时,偏差较大,先不清除异常点。
分析要做。
b)差不多有30个点左右,清除异常点,重新计算一次。
如果再有异常点,再重新计算一下。
直到有稳定的控制图.
c)项目差异很大的项目,不应放在一起。
d)控制图的维护与调整需要关注.过程改变了,前面的数据可能就没有用了,需要重新计算基线。
e)度量数据一定要闭环:
使用基线数据,使用的结果数据需要提供。
以便维护组织基线。
f)基线建立要注意分类处理,否则容易造成垃圾基线:
举例:
同类规模组件发现的不同类型缺陷数矩阵(不同类型的缺陷).鱼龙混杂在一起,发现不了问题。
应该将不同类型的分别建立基线。
—-缺陷数合计后的控制图没有异常。
但每个组织分别建立控制图,很显明发现异常点.
g)SEI要求,重要的基线都需要做假设检验.(用新的数据来检验,是否基线有问题)
联想:
我们公司维护项目的基线有没有办法建?
基线建立要分类处理。
(生产效率:
代码行除维护工作量。
其中代码行有自动生成的一类;代码修改关键内容,代码量少,但测试工作量非常大的一类)
3.模型建立
业界模型:
刚博士模型、蒙特卡罗模型,导入模型时,需要用公司自己的数据做调整。
建模工具:
建立模型一定要用工具,MINITAB工具、蒙特卡罗(SEI推荐)—-必须研究和熟悉、EXCEL
建模六步曲:
⏹数据整理,数据整理工作量占建模工作量的95%.
⏹先要想清楚模型想要预测什么?
有哪些变量、因子要考虑(自然度量项就出来了)?
1可以与未来模型的使用者采用头脑风暴方法,分析影响过程性能的因子。
2建立关键子过程模型时:
与项目经理,测试策划师沟通,引导相关人员什么容易引导过程的差异。
—-越早做越好。
3模型发布前,做过的头脑风暴或评审证据需要保留,现场评估时需要提供证据:
⏹模型的应用场景要想清楚!
4需要有《基线、模型建立和维护手册》;《基线模型的使用指南》(更重要,如果有可能,先完成使用指南,至少是同步完成)。
5模型的应用场景在《模型使用指南》中需要加入。
OPP中有一个子实践;EPG要辛苦点,将场景分析写的更好一点,等PM能力提高了,可以简单一些。
6模型的使用场景不清楚,SEI审计时,建立方法就不看了.
7基线使用指南中,需要写明基线的使用说明。
(几个点继续上升或下降等),要从项目实际情况出发。
8组织需要有维护指南,明确什么基线在什么时候维护.
⏹进行数据初步分析,因子相关性分析
9因子的选择对模型的最终预测结果必须相关的,对最终结果没有任何影响的因子应去除;
10两个因子是非常强相关的,选择一个就可以,比如,规模和工作量是强相关的,可以选择一个;强相关是指相关性在70%左右;
11包括一些正态检验;
12可能因子需要调整;
⏹选择最佳子集,形成模型
⏹得到公式
建模型需要一些什么技能:
●情商不要太低(公司政治需要了解一点);
●开发的产品要熟悉;
●过程要非常熟悉;
●度量分析技术(如MINITAB工具);
●统计方法、过程方法、量化管理知识;
过程性能模型PPM是什么?
—-模型帮助预测目标能否实现。
——用本项目前期产生的一些数据,对后面项目产生的影响。
基线与模型的差异:
●共性:
都有预测能力.
●基线只可预测一个过程;模型可以预测多个过程.
●基线没有因子。
模型里定义了因子。
●模型和基线一定要绑在一起使用。
建立模型需要注意:
●模型的建立,必须适用企业,必须基于本企业的数据。
●先不要急着建模型,先对应用场景达成共识。
●模型的使用者,都必须评审模型,承诺使用模型。
建立的基线与模型,对企业应该是适用的。
需要管理层、部门经理、项目经理评审确认的。
可以不同类的项目有所不同。
●模型使用时,必须对使用者提供使用支持。
●刚开始建立的模型肯定不准确,要逐步完善并优化模型。
●模型可以不断优化,但模型使用场景应不要经常变。
●评估项目使用的模型,与组织级最新的模型有些差异,评估可以接受。
评估时的插边球:
项目实际使用模型与现在发布模型,可以有一些差异,但有时间差。
●最终目标和中间目标能建立起来的可用蒙特卡罗工具;其它模型技术;
●做CMMI四级做得更有效:
异常点分析,尽量与过程联系起来。
●实际结果是检验模型最好的方法,与预测值做比较分析.
●建立缺陷分布模型时需注意:
比如目标是“验收缺陷密度控制在多少?
”——建立分布模型的数据,需要项目都有完整的点(即合计100%)。
如果没有,项目中某个点的数据,可以用来建立该点的基线(控制图,用于控制使用)。
模型使用:
●必须与项目目标结合在一起
●如果出现异常,调整之前,需要使用模型做一些因子分析。
(如果增加工作量、如果缩少范围。
人员调整等),让模型帮助做决策。
●异常点很珍贵,都是改进机会.--都是需要跟踪的。
异常点的处理的定义要非常清楚。
CMMI四级的评估很关注.
●异常点分析:
期望目标未实现,但在控制范围内,可以不做异常点分析。
相反,需要做异常点分析.——控制范围与期望目标应区别对待。
期望目标最好定一个值。
●过程的异常点需要经常讨论,将过程基线的维护与应用绑定在一起。
异常点是改进机会。
●使用场景:
计划阶段(谁、什么时候、什么人)要使用,项目执行过程中使用(什么人、什么时候、什么地点使用)
●假设提交给客户的缺陷要少,需要投入更多检查活动,可能对成本、进度有影响.-—需要有多个模型来权衡。
●改进效果的评价,使用模型,建立组织组模型。
?
模型健康要素:
●有统计内含(有统计意义、有概率、有模拟)。
●模型预测最终目标、中间目标(两者要串起来)。
●用可控因子将模型的过程或子过程联系起来.
●模型的因子应该是引起模型异常的原因
●异常分析场景(WHATIF)
●前面的结果,对后面的影响要联系起来(比如缺陷分析)
●目标的调整,模型能够起指导作用.
模型(Y:
预测的内容X:
模型的因子)建立常见困难:
●目标的相关比较弱
●过程不能相关联、串联起来.
●建立方法不清楚
建模必要条件:
高质量的数据(数据不准确,后面的工作都白做)、工具、情商
建模关键:
●愿景.(数据不能满足愿景的需要。
没有愿景,也不清楚的统计分析)
●判断手上的数据是否满足要求。
●度量数量的可操作定义(为什么做?
——否则就是垃圾;数据是什么?
什么时候收集?
谁收集?
如何保证所有人都理解了数据?
等等)
●度量的要求:
一致性!
度量项不要追求完美,只要保证一致性,即具有可比性!
●数据检查要做,要初步分析一下:
(最小值、最大值?
有没有异常?
选择一些数据看一下?
数据“0",是什么意思?
是没有?
还是没有采集?
“其他”是什么意思?
(太多是不是有问题?
)
●样本点少于三个时,建议不要考虑建立模型或基线。
●每条基线与模型,都要有适用范围。
统计人员要做的内容:
●正态检验?
转换?
(画图、放到MINITABE中验检一下)
●数据的相关性分析:
强关联性,只选择一个。
相关性75%作为强相关的界线。
选择一个即可。
●MINITABE:
应使用SPEARMANP‘SRANK(正相关)不要使用SPEARMAN’SRHO(负相关?
)
模型举例:
需求评审的预测模型:
(主任评估师16个星期每周3小时的培训)
60个数据
预测:
从四个角度预测需求评审的效率.(使用MINITABE)
工作产品的复杂度
评审负责人的知识与技能
每个人的准备工作时间
每个人投入准备的时间
开会的时间
参与会议评审的人数
规模
每页发现的缺陷、建议
做简单数据分析:
由50多个数据,最后确定25个度量项.
发现其中3个,相关性分析20%。
原因:
后来发现原未考虑到:
工作产品的工作质量.
再进行正态检验、相关性分析
建立模型时,考虑了8个变量,最后选择了四个变量:
评审规模32%
评审规模、开会时间72%
评审规模、开会时间、?
82%
评审规模、开会时间、?
、?
83%
。
..。
.。
.
开始时R平方,可以比较低,但以75%为界线,太低相关性不强,没有意义.
应用场景:
项目经理安排评审计划时,可以使用。
使用井字图分析:
比如分析某次评审活动
井字图
密度
效率
高于上限
在基线内
低于下限
高于上限
场景1
场景4
场景7
在基线内
场景2
场景5(正常)
场景8
低于下限
场景3
场景6
场景9
注:
每个应用场景,都有“其它”
4.可控因子的确定
可控因子:
对项目目标有直接影响的,项目可以控制的因子。
必要时,非可控因子也需要考虑。
(如使用的技术评台、客户的刚性进度要求等)
可控因子分类:
●人相关:
可用时间(人员地域分布)、人员态度、人员的技能
●环境相关:
可用会议室、小组距离、办公室、培训室、温度
●技术工具相关:
语言、开发工具、复用率、开发工具引用的新旧
●过程相关:
过程符合度、工作产品复杂度的要求、代码的度量
●客户相关:
客户成熟度、人脉、行业背景
●供应商相关:
不可控因子:
如规模、复杂度
可控因子大都是定性的,如何将其定量化,以便与模型结合起来?
模型举例:
需求进度偏差Y=F(客户成熟度、需求阶段资源到位率、需求阶段进度压力)
模型因子举例:
客户成熟度的定义:
✧本项目的客户在组织中的地位是否比较重要否0是3分
✧对方是否有专门负责信息化的领导否0是1分
✧信息化领导是否能有效推动否0一般3分
✧该领导对业务流程是否清晰否0是3分
每个里程碑采集数据,项目在客户组织中的成熟度,得分为四项求和。
模型参数适用范围:
变量最小值最大值
客户成熟度0。
561.0
资源到位率0.721
需求面进度压力0.080。
6
编码人员能力:
初级:
?
中级:
?
高级:
?
如果项目有编码人员N人:
人员能力汇总=人员能力×所编代码比例
总体进度压力
总体进度压力=计划周期/3×总工作量开三次方?
可控因子举例:
需求评审经验值:
1:
评审人员对…不熟悉
2:
……
3:
……
4:
……
5:
参加过主要领域的工作,且对项目熟悉;
5.主模型与子模型、基线的关联应用
6.中国银行软件中心CMMI四级实施案例介绍
第一部分中国银行软件中心介绍
组织的特殊性及其定位和目标、项目的特点、项目的组织结构角色与职责、评估范围、质量会议、质量改进历程)
第二部分组织级量化管理的实施
1)生产BUG率不高于0.1个/KLOC(每个业务目标的中间目标)
需求分析阶段发现的缺陷不低于0。
09×项目估算缺陷发现数
概要设计阶段发现的缺陷不低于0。
20×项目估算缺陷发现数
详细设计阶段发现的缺陷不低于0.25×项目估算缺陷发现数
……
2)工作量偏差率不高于20%(每个业务目标的中间目标)
需求分析工作量偏差不超过18%
概要设计工作量偏差不超过?
详细设计工作量偏差不超过?
……
样例:
质量和过程性能目标
关键子过程
度量指标
基本度量
统计方法
相关模型
相关基线
生产BUG率不高于0.1个/KLOC
工作量偏差率不高于20%
共建15条PPB
基线使用指南样例:
基线名称
基线定义
适用范围
使用时机
使用场景
异常
措施
中行建立的模型列表:
中行建立的模型列表
基础模型
项目工作量估算模型
基础模型
项目缺陷发现估算
成本主模型
项目工作量预测模型
成本子模型
系统测试工作量偏差
质量主模型
项目缺陷分布及预测模型
质量子模型
代码复查缺陷预测模型
质量子模型
系统测试发现预测模型
第三部分项目级量化管理的实施
第四部分CMMI四级量化管理实施效果
四级实施经验体会:
●客户认可的质量目标对量化管理的实施有推进作用。
●一线实践人员在模型建立过程中的参与,对模型后续的推广培训和应用有促进作用.
●每季度组织度量分析推进了OPP的实施,并为项目理化管理奠定基础,是一个好的做法。
●具有丰富统计学经验的资源顾问的指导,对CMMI四级实施有很大的帮助.
●项目经理:
项目监控什么清楚了.
●中国银行:
架子搭起来、人才培养起来,项目经理理解了,逐步完善起来。
中行过程改进的专职度、投入力量:
●总体组(有两人负责人+助手)
●8个专题组(专题组长、成员)——职能部门需要被考核。
——兼职
7.CMMI四级项目定量管理
做到CMMI四级,项目风险管理针对项目目标实现有影响的内容。
基线和模型可以帮助识别和管理项目风险。
做到CMMI四级,可以帮助我们做决策,使决策不再凭感觉了。
比如根据我们的当前能力(基线数据),能否满足客户要求:
●不能满足--放弃或采用其他方法;
●完全可以满足-—向客户承诺;
●有可能满足-—采取一定的措施,如范围改变等
8.质量增量模型
测试阶段的进度也要管理?
有两种:
S型、抛物线型
质量增量模型(刚博士模型)一种:
X轴:
用例数Y轴:
缺陷数
还有一种:
X轴:
工作量?
,Y轴:
缺陷数
应用约束条件:
●测试周期至少1个月以上,太短没有意义;
●X轴,各点要均衡.
●最后一回归测试,如果发现很多新的问题.不适用.
●系统测试过程稳定,入口、出口控制要有;
应用效果:
软件质量可见;帮助决策什么时候可以停止测试;
使用注意事项:
企业使用时需根据企业的历史数据,调整公司的参数?
9.SEI报告及CMMI四级、五级审计重点内容:
避免极端:
所有过程都建立基线
所有过程都是稳定的(稳定是相对的)
项目的分类、场景信息没有
模型的场景很重要。
模型的物理意义很重要!
有些对项目级有用,有些对组织级有用,使用场景要清楚。
举例:
Y发布缺陷=(产品规模、复杂度、团队技能)后两个可以忽略不计。
举例:
Y客户满意度=(进度偏差率、产品质量)——该模型对项目没有用。
类别数据:
(VALUE)
举例(初步统计学):
美国警察检查当街某一黑人,黑人认为受岐视。
需要统计来验证。
模型:
蒙特卡罗模型
刚博士模型?
回归方法建立模型
SEI审计所有CMMI-DEV4级和5级评估的通知将持续有效,直到有证据表明审计可以不再进行。
审计的主要焦点将围绕4级的主题,尤其是商业目标,质量和过程性能目标(QPPO),过程性能基线(PPB),过程性能模型(PPM),以及已统计管理的子过程。
审计时观察的一些典型问题包括:
●没有可量化或可度量的质量和过程性能目标(QPPO)
●将简单的分布表作为过程性能模型
● 确定的过程性能模型(PPM)不支持统计化或概率化
●过程性能模型(PPM)用于监督项目状态而将过程性能排除在外
●将不包含可控因素的简单比率作为过程性能模型(PPM)
●过程或子过程与过程性能模型(PPM)没有结合
● 过程性能基线(PPB)没有结合或利用过程性能模型(PPM)
●无法解释如何组合过程才能达到预期的质量和过程性能目标(QPPO)
● 将度量曲解为子过程
●运用规范界限代替控制界限
●没有正确地使用统计工具/分析或使用了错误的工具
●统计管理的重点集中于成果物的管理
10.其他:
1)中行紧急项目实施指南:
(紧急项目界定:
四个要求(工期刚性、工期不合同、范围确定、?
),比较有意义,其实我们这种需求也是存在的。
2)CMMI四级实施难点:
项目经理的能力提升.
3)质量控制的两个公理:
●缺陷植入能力提升,缺陷清除能力不变,遗漏到客户的缺陷会减少。
冰山现象:
缺陷植入越少,就算清除能力没有提高,遗漏到客户的缺陷越少。
(冰上是发现的缺陷,冰下是遗漏到客户的缺陷)
●缺陷清除能力前移,遗漏到客户的缺陷会减少。
如果缺陷植入不变,但缺陷清除模式前移,最终遗漏到客户的缺陷会越少。
4)CMMI三级与CMMI四级的差异:
●主动式管理(CMMI四级)与被动式管理(CMMI三级)
●CMMI四级:
导航系统(可预测)——帮助项目经理,建立主动式管理。
对项目经理的能力也要高了。
●组织级建立体系时,需要考虑现实.把转化过程变化简单。
●项目经理必须理解,同样的过程,不一样的结果,是什么原因引起?
5)推荐书籍:
●《度量软件过程》(SPC在软件中的应用(第五、六、七章比较好))
●初步统计学
●六西格玛
●质量控制理论
●TSP/PSP
6)做到CMMI四级的企业,三个声音都要听:
●客户对我们的要求是什么?
—-客户要的这些东西,我们有没有基线?
●管理者的要求是什么?
●当前能力,过程的声音(组织项目计算结果)——我们过程的声音,能够满足客户的要求,说明我们有能力。
7)其它:
中心极限定理、假设检验、CMMI5级过程域、西格玛质量意识、PSP等
11.经典总结:
6)过程的主人是过程的使用者
7)过程是为公司最坏的场景制定的。
-—过程改进的方向(不需要面面俱道,要有重点)
8)过程改进是一个瘦身运动。
平均值、标准偏差小了。
更强调标准偏差小.
9)缺陷植入,缺陷发现,事后发现的缺陷,需要分析原因,把握改进机会。
10)做CMMI一定要忘记CMMI,做模型一定要忘记模型。
做CMMI四级的任何事情,一定要是对企业有帮助、有效果,而不是为了变态的CMMI要求。
11)高成熟度的企业,一定是会学习的企业,会学习的企业,一定是会总结的企业.
12)成熟度:
说到做到+持续过程改进
13)过程改进支持商业目标:
过程改进是战略的投入
14)CMMI四级:
统计思维、过程思维(统计世界、现实世界)
15)量化管理说到底,是人的管理。
16)建立度量体系时,越简单越好。
17)可监控就是可预测,否则过程就是不可控。
18)统计的数据,项目经理、部门经理可信吗,可用来做决策?
——不可信就等于零.
19)度量管理说到底就是管理偏差。
20)CMMI四级核心;QPPO+可控因子
21)规范制定由EGP做,但推广落实由部门级落实。
即规范制定与落实要分开。
22)做计划的目标是调整计划,做目标的目的就调整目标.
23)过程是否受控的标志:
a)中值差不多;
b)范围差不多。
——正态分布的展示不太好展示。
控制图(三线图)更合适。
—-控制图的X轴一定是时间吗?
24)做CMMI四级,需要多少数据:
1)依赖于数据分布;2)统计方法
12.培训感想与思考
统计知识的缺失。
统计方法应用非常广,缺少统计思维不容易发现可使用的场景。
建立基线和模型,度量数据的真实性是前提,非常重要!
员工对CMMI的理解误区:
反感!
紧急项目开发指南
做到CMMI四级的难点:
项目经理的能力的提升(老师的话)。
不是我们项目经理差,而是CMMI四级对项目经理的能力要求确实很高。
组织建立的过程性能基线和模型,一定要是项目经理、客户关注的;
项目每一个目标,应该有基线和模型帮助项目经理来做预测;
项目经理做决策,不再凭感觉,用项目数据来说话;
项目经理只针对项目目标实现有影响的事项进行风险管理;