软件能力成熟度模型CMMI.docx
《软件能力成熟度模型CMMI.docx》由会员分享,可在线阅读,更多相关《软件能力成熟度模型CMMI.docx(156页珍藏版)》请在冰豆网上搜索。
软件能力成熟度模型CMMI
软件项目量化管理(QPM)及根因分析实践总结
(CMMI高成熟度访谈)
关于实践CMMI高成熟度等级的实践步骤
1•识别能够支持企业业务目标和改进过程和机会
清楚的定义企业的战略计划和执行过程
通过使用QFD或者过程目标组合矩阵,识别增值最人的改进过程和机会
定义组织,职能和项目的平衡积分卡(前导和后导过程)
开发度量框架(不同等级-前导和后导过程)
定义项目的PPB,选择稳定项目定义组织PPB
根据需要定义PPM过程性能模型
识别在项目级和组织级定义需要进行统计学控制的改进过程
定义高成熟度的过程
2.组织机构调整
使用业务目标的仪表板来重新审视过程
对于EPG组的过程顾问最好是6Sigma的绿带或黑带,对SPC有深入理解
给管理者和项目团队进行统计学知识和量化管理的培训(SPC,ANOVA,回归,CB工具)
2.对工具的需求和掌握
MindManager-系统思维,头脑风暴和知识管理
Minitab-必须的工具
开发PPB和建立PPM模型
过程的稳定性和性能分析
相关性分析,正态检验,回归和方差分析
SPC统计过程控制(控制图)
CrystalBaII-水晶球,必须工具
使用蒙特卡洛分析和模拟来分析和预测项目性能
通过敏感性分析来来识别关键的X和Y
使用精益6Sigma来实现价值再造
通过What-if分析来匹配目标和过程要素间关系
3.对知识的需求和掌握
正态性检验和假设检验-必须
方差分析和卡方分析(ANOVA,Chi-Square)-必须
多元和一元回归分析,相关性分析-必须
SPC统计过程控制(特殊原因和一般原因,I-MR控制图,X-bar图,过程稳定,异常判定)
蒙特卡洛技术-必须
平衡计分卡和6Sigma-高成熟度等级必须
4.高成熟度等级的一些关键点
项目内的过程或子过程是否是稳定的?
项目是否建立了自己的PPB和UCL和LCL数据?
Y=f(xl,x2/X3)因此不是对Y直接去控制,要达到目标Y要对x进行控制,x要是稳定的。
由于x之间也存在相互的作用和影响,得到了PPM模型后根据目标Y做what-if分析,不断的调整。
x-bar图和I-MR图如何应用的问题,I-MR是单组,数据要能够很好的体现时间序列。
不建议对EV挣值,工作量偏差,进度等进行控制图管理。
在建立PPB的时候要注意区分,不同类型的项目或生命周期模型需要建立不同的PPB。
项目自身过程稳定才能够作为样本去建立组织级的PPB.,
PCB和PPB的概念要区分清楚,PCB是期望而PPB是实际能达到的范怜I。
1、前言
软件项目量化管理是CMMI高成熟度的标志,也是项目管理及软件工程的难点。
本人做为项目经理,在CMMI4和5的试点和实施过程中,体会到量化管理是上述高成熟度项目管理的核心。
本文重点是量化管理应用的实践,介绍量化管理主要概念和进行量化管理的过程。
在整个项目管理知识体系中,涉及到需要量化管理的领域非常多。
一般依据事前估算(预测)、事中控制和事后管理的角度来分,可以分为估算(预测)、过程控制和度量等,并据此调整工作量和工作计划,形成闭环循坏过程。
其实,量化管理的数据内容很多,本文的实践,核心量化数据是工作量、工作成果(例如:
KLOC)和缺陷数,相关的还有人员能力、评审/测试次数等基础数据,由于篇幅有限,数据的度量、人员能力评价等内容省略;关键过程域中管理工作内容实践的有:
项目策划中的项目估算,量化管理及原因分析两个部分。
1.1、CMMI概述
CMMI是CapacityMaturityModellntegrated的简称,即集成的软件能力成熟度模型,是一种综合性模型,它是工程实施和管理方法,它在软件与系统集成以外的如科研、工程等领域都得到了广泛的应用。
CMMI将软件过程中的很多过程都通过过程工程规范起来,它给出了过程改进的模型和人框架。
CMMI给我们带来了如下好处:
改进项目进度和预算的可预测性、改进监控项目过程及子过程的性能和稳定性、改进开发周期、提高生产率、改进质量、增加客户的满意度、提高员工的士气、增加投资回报和低质量成本。
1.2、CMMI高成熟度
⑴、CMMI高成熟度定义
1.ML4量化管理级(QuantitativeManagement)组织过程性能OPP(OrganizationalProcessPerformance)量化项目管理QPM(QuantitativeProjectManagement)
2.ML5优化级(Optimizing)
原因分析与解决方案CAR(CausalAnalysisandResolution)
组织革新与部署OID(OrganizationalInnovationandDeployment)
⑵、高成熟度常用技术
1.统计过程控制技术
统计过程控制(简称SPC)是应用统计技术对过程中的各个阶段进行评估和监控,建立并保持过程处于可接受的且稳定的水平,从而保证产品质量要求的一种质量管理技术。
统计过程控制是过程控制的一部分,从内容上说主要是有两个方面:
一是利用控制图分析过程的稳定性,对过程存在的异常因素进行预警;
二是计算过程能力指数分析稳定的过程能力满足技术要求的程度,对过程质量进行评价。
在这里,统计过程控制技术使用了控制图、直方图、排列图(柏拉图)等。
2.蒙特卡洛分析技术
蒙特卡罗法(MonteCarloSimulation)也称随机模拟,它主要依据概率分布对随机变量进行抽样,然后将样本带入数学模型进行计算得到应变量。
虽然蒙特卡罗模拟技术只给出的是统计估计而非精确的结果,但它对问题的维数不敏感,对求解对象是线性问题与否也没有原则性要求,因此在复杂系统的不确定分析中,蒙特卡罗方法成为不可或缺的手段。
而且对于那些无法得到解析结果的复杂问题来说,这种手段可能是唯一有效的结果。
⑶、高成熟度模型
•CAR
PPB.PPM
为组织级原因分析,提供识别缺陷和问题的参考可用于评价组织CAR改进效果
用以分析、选择改进措施与活动。
•OID
PPB.PPM
为组织OID识别革新提供参考
用以估计、分析组织改进活动的效果,以预测是否过程性能是否达成目标
1.3.项目经理高成熟度工作与软件工程
⑴、度量(MA)为QPM提供的数据
度量数据来源于度量数据库和里程碑报告。
1.各个阶段及活动工作屋度屋数据
如此表所示,工作量数据包括工程活动和质量控制活动两部分,其中,实际工作量包扌舌正常开发和返工两部分。
2.质量控制度量数据
各个阶段和工程活动的质量活动基础:
KLOC(T•代码行)
各个阶段和工程活动所产生的缺陷数和缺陷移除数
⑵、项目策划为QPM提供的数据
1.质量目标是通过项目实施计划下达
2.数据及过程
估算报告提供估算的工程工作量
项目定义过程提供裁剪的过程
2、软件项目规模及工作量估算
2.1、工作量估算依据
工作量估算主要是考虑使用组织级的资产库和历史数据,例如依据"过程裁剪指南"所形成的开发过程定义(PDP)、“软件生命周期指南"所选定的软件生命周期、"度量数据库"中的缺陷数、文档的页码、代码行。
度量数据库的使用,就是参考相当规模的项目,获取文档页码、缺陷注入率、缺陷移除率、工作量等度量数据。
估算方法有:
专家法(Delphi)、功能点法、类比法、占比等。
2.2、任务分解
⑴、WBS分解分类及分解准则
1.WBS分解分类:
项目分解WBS(项目管理类型任务分解)、技术分解WBS(项目工程任务及特有技术工作内容分解)。
2.WBS分解原则:
项目要求;
定义逐步求精;
人时(工作量):
一般的任务不超过2周,也就是80人时;
任务责任到人;
团队工作原则:
项目经理在制定项目计划过程中,尤其是在任务分解,工期估计对关键过程中一定要与项目成员一起进行。
⑵、任务分解
首先,跟踪任务分解模版,分别定义项目工程活动、项目管理活动、项目支持活动三部分;
项目工程活动按本项目实践的瀑布模型生命周期和PDP,主要定义如下:
需求开发、需求评审、软件设计、设计评审、编码与测试、代码走查、单元测试、集成测试、系统测试、项目验收等活动。
其中,编码与测试中编码细活动,是根据项目实际情况和前期需求,分解到具体功能模块(树状结构);
项目管理活动分解活动如下:
项目立项、项目策划、周报例会、项目结项、其他项目管理活动(例如:
需求管理、量化管理等)、项目度量;
项目支持活动分解为配置管理和质量保证两类活动。
2.3、项目估算
⑴、编码部分估算
编码部分估算,主要是在软件功能分解的基础上,对各个功能模块代码量进行估算,估算单位是KLoCo本文是采用专家法进行估算编码工作量,由于部分功能估算估算偏差超出额定偏差(本项目定义为20%),进行了第二轮估算超出的功能模块,如下图所示:
Delphi俗计顷
单位:
KLOC
20%、
(5舷服
5
WB囁
WB沏樹謎
.'
i
曲5'
劭11
昱离
M0101
阪馳心
18.5
18.2
19.2
18.8
19.3
18.5
18.853
2.6%
PAsS
M0102
公赅
7.3
7.8
7.7
7.9
7.9
7.3
7.680
4.6%
PASS
M0103
2.7
3.0
2.8
2.8
3.0
2.7
2.813
5.2%
PASS
M0KM
5.5
5.4
5.9
4.9
5.9
4.9
5.428
99%
PASS
M0201
6,9
63
6.4
6.1
6.9
6.1
6.428
PASS
MO2O2
誠刼公甌亜
8.7
11.7
8.0
8.3
11.7
8.0
9.165
J2&0%
/FAIL
MO2O3
4.8
59
5・4
5.5
5.9
4.S
5.415
112%
PASS
⑵、工作规模估算
其他工程活动,例如需求开发中的需求分析活动,按输出产品规模进行估算,也就是页数(文档按标准模版编写,已经定义好的格式),如下图所示。
而相关的工作量按估算模型折算为工作量。
I^ih
册活常
I*tFS
ex?
髙丢
因子名诊
SWaiHH
&00|p咛
SWaiHH
«tt^£
分他毎K
里諏gK:
殳计
规劭济于畑£
Lt
荐*W69冏t岸乔鈕t运争#FOL
曲«3«a
1LOO
page
3500page
53X)0血7
LOO|peg0
(W
&8|pag&lLOOpage3S00peoe5MQ0bage注00page2800“go2400page4000囲8
&?
1
RTSffi
53.00
5i
〃:
參乡〃*幺:
?
-;d"《〃©“〃〃T<*>"©“厶纟〃〃妙*"<•-〃纟
:
";:
小it
ffgatiggs~
5.00|page
pageUOOIpage2300|page24.WIP0Q0
dMt
小it
4Q0Q
500110-00165.00165JXX
p咛
pgge
4090
jdoc
Woe
S72IHfi(人
51+^1®
110.00
"诙瑟第您麥炎笏
*?
<•.““纟少纟"<•■
:
二:
:
“三:
.
->*£;>%❖:
〃,
&方*4>〃〃方〃:
2笏幺.;,"纟〃〃诊纟T〃二〃纟〃幺纟工〃幺“
I:
:
;:
」:
:
;:
:
:
:
:
;•:
>•■:
•:
•・•・・・・・・•・・•・•・・・・・・・・・•
篦EXB唸兹須證Ffa处玆篦Ffr:
需.
需粲BH-ttB"BB4mB-"H-B篦貓
*盜〃幺纟©•»•:
•»>〃〃笏〃纟3欢纟纟盜""方〃龙〃幺〃〃经〃纟〃纟笏纟"*冷〃幺纟纟〃
•-
144414-4141
需粲BH-ttB"BBte發霜H-E篦貓
刀*々刀%”二……
07.10
1L56
14&.W
rtfes
•卫
4L40
Woe
匡®:
血+3®?
St
代SWfi
代
110.00
165.00
165.00
dMt
4140
Woe
"弘尢*妙―
、。
…•・。
。
“,*>,,一少少…“•
少么%尢夕哼・•
?
325
II
乡么**•
❖••夕"
纟盜.
纟!
••>么%*•签纟一---
多«•>
❖•»>■<•〃纟*»•
纟分.
B-H
参瓷參«•
乃*XN々*X>4^
22
U9
⑶、项目管理、支持活动按占比为:
项目管理10〜15%,预留5%,QA%5〜6、CM3〜4%。
3、软件项目量化管理(QPM)及根因分析实践
项目经理在项目级QA协助下,制定项目的质量目标,根据组织过程性能基线和模型裁剪项目过程,并对项目进行实时量化的监控,确定项目定义过程,选择度量和统计技术,对监控过程中发现的问题分析,确定并采取纠正措施。
3.1、量化管理计划建立过程
项目经理在项目级QA协助下,制定量化项目管理计划,计划中包扌舌:
过程性能目标、项目子过程(选择)、量化管理技术、子过程路径、量化管理方案。
⑴、制定项目质量和过程性能目标
目标实现概率在95%以上
客户要求目标:
交付缺陷小于23个(0.139Defects/KLOC);
公司要求目标:
工作量小于589人天(3.57Man-days/KLOC)
经营管理部依据内外部对项目的要求卞达质量目标,定义到量化项目管理计划及监控报告的过程性能目标中。
如果目标存在冲突,解决方案如下:
若QPPO达成率在90-95%之间,则将其纳入风险进行监控与管理
若QPPO达成率<90%,则与管理层进行谈判、沟通,是否可以降低目标,如果降低,则重新进行QPPO达成率预测;否则则接受,并纳入风险进行监控。
⑵、项目子过程定义及选择
项目经理在项目级QA协助卞,按过程工程与质量相关性进行分析,复用公司分析经验,以及项目的特征值,并根据《组织过程裁剪指南》进行裁剪,来确定项目子过程。
主要子过程有:
需求开发、需求评审、软件设计、设计评审等10个子过程。
子过程选择标准:
与项目的QPPO具有强相关性(是有大的贡献)且是稳定的;
子过程的一个或多个属性是PPM中的控制因子;
子过程可被重复和频繁地执行,且可以为统计管理它们提供充足数据。
⑶、确定量化管理技术
量化管理技术有:
统计过程控制技术(控制图、三角分布等)、蒙特卡洛分析技术、多目标决策分析技术。
⑷、预测过程及子过程选择
⑸、量化管理方案决策选择
过程组合分析(Optquest)分别以交付质量最高、工作量最少为目标进行多目标决策分析,两个方案交付质量都可满足项目的QPPO(置信度人于95%),通过综合分析,选择工作量最少的方案和过程及子过程选择。
⑹、蒙特卡罗方法(MonteCarlo,MC)及目标优化组合(OptQuest)分析结果
3.2、过程监控
⑴、缺陷注入率(需求开发缺陷注入率RD.DIR)监控
使用Minitab中RD_DIR回归公式预测RD_DIR的预测值、上限值和下限值,预测结果定义为三角分布。
⑵、缺陷移除率(需求阶段缺陷移除率RR.DRR)监控
使用Minitab中RR_Defect回归模型(根据之前选定的分组选择回归模型)来预测RR_Defect的预测值、上限值和下限值
3.3、子过程性能监控
⑴、具备子过程能力和性能稳定描述
在过程性能监控的控制图中,活动的能力线在能力基线范闱内容,能力基线(蓝色线)在红色规格基线范围内,活动的点不能连续上升、偏于中心线某一侧。
⑵、过程能力不足/超出和不稳定的处理方式例一:
过程性能監控:
设计评宙DR
DR.Woridoad/Page
0.351
0.000
必卩合g©AX/Pdge
DR_DefeaPage
目标
0.063
0.000
0efecyP3geDefed/Page
设曲审DR:
NaturalBound
0.100
nORH
DR^Defect/PagezNaturalBound
0.060
nnfln
o孔沁二*
«UCL
*.:
«*«•*u
0020
nccc
1
2
t
3
t
4
・//F
5
1og.csdn.
net/xiaoyw71
如上图所示,第二次设计评审后,评审的缺陷移除率的自然能力上限超出规格上限,并且波动较人,说明该过程的能力不足。
经根因分析,原因及解决措施如下:
1.原因及异常说明
本应参与第二次评审的吴JF因出差,未能按期参与评审。
此次评审中由外项目组李BX做为专家来代替,由于李BX对项目背景不熟悉,自然能力上下限超出规格限。
2.应对措施
与公司相关领导及项目管理部门联系后,在后续的评审中让吴JF参与。
同时提前与吴JF本人沟通确认,保证她按时参与其后的设计评审。
3.实施效果
通过对后续评审的持续过程跟踪,自然能力限收窄,且达到规格限要求,项目QPP0达成率大于95%。
例二:
过尉能監控:
单元测试UT
工隧SfeJJS:
0503AS/KIOC
Effort目标下积:
0.342A^/KLOC
DRR
目忘F炭:
0.140
0.035
DefecVKLOC
Defcct/KLOC
单元洌试UT:
NaturalBound
如上图所示,第3轮单元测试后发现缺陷移除率自然能力线下限超出规格线卞限。
经根因分析,执行了Car,
原因及解决措施如卞:
1.原因及异常说明
使用PPB与PPM进行分析,测试用例覆盖率及测试工作量投入都正常,通过调整模型因子无法提高过程能力。
经原因分析发现是测试用例质量不高,而导致过程能力不足。
2.应对措施
执行CAR,识别本原因并加以解决。
详见:
本项目原因分析与解决记录。
3.实施效果
执行CAR后,UT过程能力得到提升,项目QPP0可以达成。
4.固化措施
向EPG提出改进建议:
单元测试用例的质量对于单元测试过程至关重要,因此要加强单元测试用例的评审。
3.4、量化项目管理问题
⑴、子过程数据不充分
在量化监控子过程过程中,技术评审、测试次数过少,例如只有3、4次。
这样的数据量,在使用控制图模型时,无法满足使用条件,也很难起到监控子过程的目的。
⑵、度量数据不真实
在精细化管理中,缺陷、工作成果度量是重叠的,而精细化管理中涉及到绩效考核,这样,在考核与项目冲突的情况卞,往往会出现不真实反映项目情况的数据,为此,需要项目经理的智慧来解决这些问题,掌握好双刃剑的度。
3.5、根因分析
⑴、触发条件(入口准则)
在量化分析子过程过程中,发生未达能力问题时,在调整因子或优化路径情况下,无法达成QPPO,则根据体系文件《原因分析与解决过程》所规定的入II准则,启动根因分析,由项目经理编制根因分析实施计划。
工作中,发生计划等活动中未预测到的事件(问题或好的方法),触发根因分析,根因分析要使用预测模型。
⑵、过程
1.确定原因分析的范围
2.分析原因,确定建议的改进措施
项目组(经理)组织项目相关人员,同样采用鱼骨图(鱼骨图至少应分解到第三层)和Pareto图等技术,分析问题和缺陷的根本原因,并制定改进措施。
3.制定行动计划
项目经理制定计划,经EPG批准后执行。
4.实施改进建议
项目组(经理)组织项目相关人员,在项目级QA的指导卞,执行项目改进措施及建议。
5.评价实施效果
⑶、根因分析实践
对项目单元测试过程进行分析,分析单元测试缺陷移除率低的原因,并制定改进实施方案。
①.要因分析:
I菅理Ituiagenwnl
献Input;
项殛如细
堆元雌i
sms如矽-
»^睫45茨
朗脚-
过程Process
|人员Pwph|
工具Tools
手工夏阙陀
*UT.DRRfi
开
制卫xa如哋:
单删艸按Afimm
刃斬2礎懈创楝A
没有碌酣敝嗣月
blog.辫|關血|卵/乂jcioyw71
对输入、工具、人员、管理、过程、环境等原因,逐级深化分析,根因分析目标就是鱼头(UT_DRR低,单元测试缺陷移除率低的问题)。
一翻
二翻
三鵜因
所占百分比
根酬定
1,1鲂怖分,扃陋您麟
1
2.04%
1,2駆人辭三盲编助平高
1
2.04%
2鱼元财的工作昼徳
2,1瞬元®^的评审砰艳
4
18.37%
e
2.2用暉歆刊!
漑脚蘇薩^
9
18.37%
II
殍3»^盲
3.1没有筑遜肠徳IM
2
4.08%
Ar
倬的:
L作量禅•'
41单融履操不嘛正
i
16.33%
•
4.2单議如啊充分
9
18.37%
•
5没有親顾试
2瑕人^只对記建的霸洒痣
1
2.04%
②.做Pareto分析图表
三级原因的Pareto图
0三氓袁因文捋人氏歎
JR积%
10
■20
2.12.24.:
4.13.17.11.11.210.111.15.16.18.18.2XtE999622111111112
181818lc44222222224
18375571768082S4G666909294XOC
gO
18
事0上
oO
64
■■
50
■■
10O
43
20
按二八原则,80%的问题是由于20%原因造成的,选出20%的问题进行改进方案。
3.应对措施
^5^
实施
走
实
顺
序
实日
负麦人
可行性
效益性
堆
奁
1
1・L设计充分,易亍辐人題解
L
L
M
r
—
2
1・2菊码人员经验丰意爾水平高
M
H
M
r
3
21对单元I聞舷评审不严密
AP:
龙冬啲M元SE式用魁俩豆
H
H
L
•
1
07-05
4
22冃住编W者对刊!
试棘越鵜不飘
恥单元泌试人员蔚勰单元涎试^仇
H
H
L
•
1
07-05
5
3・1没有新会鋅淤观试IM
恥薙巨酬堂元砥云工M,翌惑!
渝笔并进行目动化工M堆训•
M
L
H
—
0
4・1单元躺您檢不
AP单元浹试AS勢赵单顽族便.
H
H
L
•
1
07-05
7
4・2单元脸腹犒不充分
曲单元淞试人员蔚勰单祕i族他,重麵感OJOCJ.S
ria
光
丿7脑
改进实施方案如下:
•方案目标
通过改