参与实施CMMI5的经验总结Word下载.docx
《参与实施CMMI5的经验总结Word下载.docx》由会员分享,可在线阅读,更多相关《参与实施CMMI5的经验总结Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
用假设检验的方法分析当前过程能力与组织绩效目标的差距。
例:
模型工作量控制在均值52人天为目标,用假设检查分析为:
即假设未引进革新点时,模块工作量大于52人天(即μ>
52)
备择(Ha):
μ>
52
原假设(H0):
μ≤52
用minitab的单样本(t)检验进行分析,若P值小于,即拒绝原假设(H0).
(三)分析影响目标的因素(大鱼-中鱼)
1)CAR分析影响目标的因素:
采集与组织绩效目标有关的项目数据,对每一个数据的表现进行原因分析,并逐层找出根原因(确定因子1)。
2)头脑风暴分析影响目标的因素:
组织公司内核心人员进行讨论会议,以头脑风暴的形式讨论出影响因素。
3)投票选择:
对上一步头脑风暴产生的多个影响因素按照一定的规则,投票选择产生强相关的影响因素(确定因子2)
(四)分析上一年的性能基线(采集中鱼)
1)采集上一年历史性能数据:
根据上一步确定的因子,采集该因子的上一年项目数据。
2)形成上一年历史性能数据基线:
用I-MR图的方法形成因子的性能基线,对异常点需进行根原因分析。
(五)相关性分析关键因素(中鱼-小鱼)
1)相关性分析:
用Pearson(柏松)系数方法,分析因子1、因子2与目标的相关性,相关性强的因子可用于回归模型的建立。
根据柏松系数,属于极强相关,属于强相关,属于中等程度相关,属于弱相关。
2)关键子过程的改进计划(矩阵):
对小鱼、中鱼、大鱼所有的因子,找出对应的关键子过程,并依次按照高、中、低的优先级顺利,计划改进周期。
(六)建立性能模型
用统计分析工具Minitab>
>
统计>
回归>
回归,“响应”设定为目标值,“预测变量”设
定为因子后,可得出回归方程。
(七)达成目标模拟
1)水晶球分析:
用水晶球工具CrystalBall(蒙特卡洛原理)分析模拟出,当前过程能力对目标达成的Certainty值,以及改进因子后对目标达成的Certainty值。
2)引入革新点和改进措施:
从数据层面,分析因子的历史数据中,可改进的空间,并引出改进措施。
(需启动DAR确定革新点)
注:
(1).引出革新点时,一定要针对X使用CAR的方法分析其提升空间;
(2).改进前后,分别用CrystalBall模拟对目标的达成度,当Certainty值大于90%时,即认为达成目标的风险较小。
(八)引入革新点的成本效益分析
1)成本分析:
预测出实施革新点的各项成本(如资源、人力、开发、维护、推广等),并将成本数据进行量化。
2)预计收益分析(可节约成本):
预计实施革新点后,可收获的价值。
(如成本降低、绩效提升等)
3)成本-收益率:
计算收益与成本的比值。
即判定是否值得实施革新点。
回归方程解读
以模块工作量模型(Y-工作量,X1-调整后功能点数,X2-重用库)为例,解读回归方程中各参数的意义:
建立模型应注意:
模型的使用者需评审模型。
刚开始建立的模型肯定不正确,需不断采集数据,要逐步优化模型。
模型可以不断优化,但是模型的使用场景不能常变。
应重视异常点的分析,可识别改进的机会。
异常点分析需使用CAR。
基线与模型的异同点:
都有预测能力,基线只可预测一个过程;
模型可以预测多个过程。
基线没有因子,模型定义了因子,基线和模型需结合使用。
模型使用
模型使用场景总体分为:
估算和回归模拟,使用场景的关系如下图所示:
各场景中对模型的使用步骤如下图所示:
模型使用场景
假设上年度模型回归方程为y=f(x1,x2),本年度在项目过程中使用模型时,分为以下7种情况:
(1)当Y不确定时
1、当x1,x2不确定时,
①估计x1、x2。
②通过f(x1,x2)预测y值,分析异常值。
2、当x1部分确定时,
①估计剩余的x1,估计x2;
分析x1确定部分的异常值。
3、当x2部分确定时,
①估计剩余的x2,估计x1;
分析x2确定部分的异常值。
②通过f(x1,x2)预测y值,分析异常值。
4、当x1全部确定时,
①估计x2;
分析x1的异常值。
5、当x2全部确定时,
①估计x1;
分析x2的异常值。
(2)当Y确定时
6、当x1、x2全部确定,y部分确定时,
①使用确定的x1,x2,部分y进行归回得到新方程y=f1(x1,x2),使用水
晶球模拟新回归方程的可信度。
②使用新回归方程预y=f1(x1,x2)测剩下的y值。
③异常值分析,包括:
x1,x2,y(已确定及预测部分)。
7、当y全部确定时,
①使用全部确定的x1、x2、y进行归回得到新方程y=f1(x1,x2),使用水
②异常值分析,包括:
x1,x2,y。
异常值分析
假设回归模型为y=f(x1,x2),下面分别列出对x与y指标进行异常值分析时的注意事项:
(1)针对y的异常值分析时注意以下几点:
①根据y的位置及分布进行分析:
当y分布在以下3种位置时,需要分析异常点存在原因。
当y的分布不满足控制图检验时(参考控制图检验原则),需要分析异
常点存在原因。
②需对y的实际值进行异常值分析。
③需对y的预测值进行异常值分析。
④异常值分析时,需分析造成该异常值的具体问题。
(2)针对x的异常值分析时注意以下几点:
①根据x的位置及分布进行分析:
当x分布在以下2种位置时,需要分析异常点存在原因。
当x的分布不满足控制图检验时(参考控制图检验原则),需要分析异
②需对x的实际值进行异常值分析。
③异常值分析时,需分析造成该异常值的具体问题。
问题分析及改进方案
(1)初步分析
假设对x与y指标进行异常值分析时,梳理出以下异常点及问题:
(2)根原因分析
使用帕累托图(PeratoDiagram)分析各种原因类型的频率及累计比率,根据帕累
托法则(二八原理),即百分之八十的问题是百分之二十的原因所造成的,找出产生大多数问题的关键原因,用来解决大多数问题。
(3)改进方案
(1)根据根原因,提出改进方案:
方案一:
引进新工具
方案二:
引进新工具
方案三:
流程改进
(2)分析执行改进方案后y的改进效果,分为以下两种情况:
A.预测执行改进方案后x值提升幅度,并使用回归方程预测y值提升效果。
B.当y出现实际值时,再次回归后用新的模型预测y,并用水晶球模拟。
四、重用率估算
实际功能点,是指《需求规格说明书》中归纳分析的功能点。
重用功能点,是指《需求规格说明书》中归纳分析的且被重用的功能点。
若功能点沿用其他项目或本项目中其他功能点的代码视为重用。
重用功能点(折算)的两种算法:
(1)重用代码行/有效代码行*实际功能点数*100%。
(2)(前台重用方法个数+前台组件重用个数+后台重用方法个数)/(前台方法总个数+前台组件总个数+后台方法总个数)*实际功能点数*100%
重用率=重用功能点个数/实际功能点个数*100%
五、功能点估算方法
估算流程
功能点估算方法,是从软件项目的功能需求角度来评估项目规模,功能点估算流程如下图所示。
功能点估算方法的应用场景分为项目前期、需求明确及需求变更:
项目前期,指从项目规划开始至需求规格明确期间。
需求明确时,指已完成需求调研,并形成了正式的需求规格说明书。
需求变更时,指在项目建设过程中,客户提出了变更需求,且已将变更需求更新到新版本的需求规格说明书中。
调整前功能点计算
复杂度矩阵(项目前期)
通过复杂度和功能点分类两个维度构建功能点分类-复杂度矩阵,并识别出每一个功能点所对应复杂系数Ki,调整前功能点数量的计算公式为:
UFC=∑(Ki)。
功能点分类-复杂度矩阵如下所示:
功能点分类
复杂度描述
复杂度
复杂系数(K)
接口
调用外部系统已实现的接口
低
5
实现外部接口,提供外部系统调用
高
10
数据处理
无算法
3
有算法,实现方法暂不清晰,但也不难
中
4
多个算法,且较难实现
6
统计
定时统计
实时统计
7
查询
单表查询
多表联合查询
复杂度矩阵(需求明确、需求变更)
以数据项数量和数据文件数量为维度,构建功能点的复杂度矩阵,功能点复杂度矩阵如下所示:
统计和查询
数据文件数量
数据项数量
1-19
20-50
51+
1-4
5-15
16+
1-5
6-19
20+
1
0或1
2-5
2
2-3
根据功能点的复杂度矩阵,将功能点的复杂度(高、中、低)映射为复杂度系数(K),每类功能点的复杂系数如下表所示。
复杂度系数
功能类型
通过复杂度矩阵及负责度系数,计算每个功能点的复杂系数(Ki)。
调整前功能点数量的计算公式为:
调整系数
下面将分别说明7个系统特性的定义及影响程度的划分标准。
序号
系统特性名称
等级
影响程度说明
分值
算法
有算法,且实现方法清晰
算法较难或多个算法
8
内部力量不能攻克的算法,或需要专门研究
重用
直接重用,几乎不需要修改
基本可直接重用,单需要做些简单的调整
重用50%~70%;
或大部分内容需要较大调整即可重用
重用20%~50%;
重用20%以内,或整体调整后方可重用
无重用
新技术
无新技术;
有新技术,但预期简单(几乎可视为旧技术);
新技术存在1-2个局部不清晰;
存在多个新技术,或3个以上局部不清晰;
新技术大部分不清晰;
目前力量不能攻克的新技术,或需要专门研究;
业务成熟度
客户已发布管理制度和作业规范,且已执行一年以上。
客户已发布管理制度且已执行一年以上,相关作业规范正在拟定但尚未发布。
客户已发布管理制度且已执行一年以上,但尚未拟定相关作业规范。
客户已发布管理制度和作业规范正在拟定,但尚未发布。
客户未发布管理制度和作业规范,依靠约定的业务流程经验进行管理。
新兴业务,业务流程和管理规范尚处于研究阶段。
性能要求精细度
用户没有提出性能方面的要求
用户提出了性能和设计方面的要求,但不需要采取特定措施
响应时间和吞吐量在系统峰值时是关键的,但是不需要采取相应的CPU使用方面的特殊设计。
处理的最后期限是在下一个工作日。
在任何时候响应时间和吞吐量都是关键的,但是不需要采取相应的CPU使用方面的特殊设计。
处理的完成期限比较严格
除了上面一项的要求外,由于对需求的要求比较严格,在设计阶段就要进行性能分析
除了上面一项的要求之外,在设计和实施阶段需要使用性能分析工具来判断性能要求的完成情况
系统界面设计的明确程度
沿用原有系统的界面风格。
有类似界面风格的系统可以参考
客户对界面的要求较明确,且所有客户对界面要求一致。
客户对界面的要求不明确,但所有客户对界面要求一致。
客户对界面要求不明确,且客户间对界面的要求不一致。
兼容性
说明
兼容性要求包含以下内容:
操作系统、数据库、中间件、浏览器
客户需求不含兼容性的要求
考虑了兼容性的要求,包括以上的1个
考虑了兼容性的要求,包括以上的2个
考虑了兼容性的要求,包括以上的3个
考虑了兼容性的要求,包括以上的4个
调整后功能点计算(FP)
根据以上7项系统特性的影响程度(DI)计算功能点的调整系数(AF),计算公式为:
AF=∑(DI)*+
根据调整系数(AF),最终可得到调整后的功能点数(FP),计算公式为:
FP(调整后功能点)=UFC(未调整功能点数目)*AF(调整系数)
六、单元测试的归零方法应用
归零分析法原理
技术归零五要素:
定位准确、机理清楚、问题复现、措施有效、举一反三。
定位准确:
层层分析、分解到质量问题发生的深层事件,即确定问题发生的准确部位。
机理清楚:
通过理论分析或试验手段,确定质量问题发生的根本原因。
问题复现:
通过试验或其他验证方法,再现或确认质量问题发生的现象,验证定位的准确性和机理分析的正确性。
措施有效:
针对发生的质量问题,采取纠正措施,经过验证,确保质量问题得到解决。
举一反三:
把质量问题信息反馈给其他部位,检查有无可能发生类似问题,并采集预防措施。
单元测试应用归零分析法
程序员分析
1)程序员单元测试后将问题记录缺陷跟踪表;
2)分析引入该问题的阶段或原因;
3)进一步分析引入该问题的根原因,并定义原因类型;
4)从技术层面确定解决方案,并确保问题得到解决;
5)举一反三,分析其它关联模块或功能是否会出现类似问题,并预防。
项目经理分析
1)以缺陷跟踪表为基础,以“引入阶段”为维度,分析每个阶段的缺陷比率;
2)以缺陷跟踪表为基础,以“原因类型”为维度,分析缺陷集中出现的原因类型;
3)采用帕累托图分析出导致大部分缺陷的根原因;
4)从管理的角度确定解决方案,并确保问题得到解决;
5)举一反三,分析其他方面是否会出现类似问题,并预防。
七、统计分析知识
控制图
控制图:
一种以实际度量指标值与过程经验所得出的数据控制界限比较,并以时间顺序表示出来的图形。
有三条直线组成:
控制上限(UCL)、中心线(CL)、控制下限(LCL)。
纵轴:
一般为度量指标值,以过程变化的数据为刻度。
横轴:
为检验数据的变化趋势,以数据时间或采集先后,依次绘在图上。
挣值分析
(一)挣值分析的三个基本参数包括:
计划值(PV)、实际成本(AC)和挣值(EV):
1、计划值(PV,PlanValue),又叫计划工作量的预算费用。
是指项目实施过程中某阶段计划要求完成的工作量。
PV主要反映进度计划应当完成的工作量,而不是反映应消耗的工时或费用。
2、实际成本(AC,ActualCost),又叫已完成工作量的实际费用。
指项目实施过程中某阶段实际完成的工作量所消耗的工时(或费用)。
主要反映项目执行的实际消耗指标。
3、挣值(EV,EarnedValue),又叫已完成工作量的预算成本(。
指项目实施过程中某阶段实际完成工作量及按预算定额计算出来的工时(或费用)。
(二)挣值分析法的两个评价指标:
费用执行指标(CPI)和进度执行指标(SPI):
1)费用执行指标(CPI):
是指挣得值与实际费用值之比,即CPI=EV/AC。
当CPI>
1时,表示效率较高,花费较小的工时获取更大的价值;
当CPI=1时,表示效率一般,花费的工时与获取的价值等效;
当CPI<
1时,表示效率较低,花费较大的工时获取更小的价值;
2)进度执行指标(SPI):
是指项目挣得值与计划值之比,即SPI=EV/PV。
当SPI>
1时,表示进度提前,花费较小的工时完成了额定的工作;
当SPI=1时,表示进度按时完成,花费的工时与计划的工时一致;
当SPI<
1时,表示进度延后,花费较大的工时才完成额定的工作;
帕累托图
帕累托图(Pareto):
是一种条形图,条的长度代表事件发生的频率或成本(财力、时间),因此可从图中直观地看到哪些情况是比较重要的。
Pareto原理:
80%的问题是由20%的原因导致的,虽然百分比不一定总是恰好为80/20。
参数解释
Trails:
实验次数,即用蒙特卡洛方法模拟的次数;
Mean:
均值,样本数的平均值。
Median:
中值,当变量值的项数N为奇数时,处于中间位置的变量值即为中位数;
当N为偶数时,中位数则为处于中间位置的2个变量值的平均数。
Mode:
众数,样本数中出现次数最多的数。
StandardDeviation:
标准差,所有数减去其平均值的平方和,所得结果除以该组数之个数(或个数减一,即变异数),再把所得值开根号。
Variance:
方差,各个数据分别与其平均数之差的平方的和的平均数。
Skewness:
偏差(描述变量取值分布对称性的统计量)。
Kurtosis:
峰度(描述变量取值分布形态陡缓程度的统计量)。
variability:
变异系数,是标准差与其平均数的比,单位和(或)平均数不同时,比较其变异程度就不能采用标准差,而需采用标准差与平均数的比值(相对值)来比较。
变异系数C·
V=(标准偏差SD/平均值Mean)×
100%
MeanStd.Error:
平均标准误差,是样本均值的标准差。
假设检验
假设检验,通过样本对总体的假设进行的检验。
原假设H0,又称虚无假设、解消假设。
备择假设Ha,又称研究假设。
用显著性水平α,表示在原假设成立的条件下,统计检验中所规定的小概率标准。
通常有α=,α=,α=
显著性水平,表示样本统计量落在拒绝域的机会。
举例:
假设未引进革新点时,模块开发效率小于个/人天(即μ<
),且是显著的。
Ha:
μ<
H0:
μ≥
通过Minitab的单样本(t)检验分析结果为:
从上可以看出由于P<
;
所以拒绝原假设H0。
即:
目标值大于个/人天是当前过程能力所达不到的(并且是显著的),所有需要分析影响开发效率的关键因素。