当前位置:文档之家› 参与实施CMMI5的经验总结

参与实施CMMI5的经验总结

参与实施CMMI5的经验总结文/质安部一、心得感受一年前,我开始了我的CMMI5旅程。

顺境、逆境,坎坷的、平坦的,处处碰壁的死胡同、豁然开朗的桃花源,我们一路走来,风雨过后终见彩虹。

刚刚接触CMMI时,对基本术语的理解还很含混,感觉就像进入另一个工作领域。

什么是PA,什么是CAR,什么是PPB和PPM,什么是Minitab、水晶球和蒙特卡洛,CMM与CMMI 有什么区别,要通过CMMI5要哪些方面的工作,我们还有哪些方面需要改进,收集了一堆看似杂乱、不规则的数据,如何应用到项目中,并给项目带来实质性的效用,所有这些问题都要得以解决,在整个CMMI5实施过程中,我们从众多数据入手,分析并挖掘它们之间的关系,结合相关培训,在咨询顾问的指导下,我从略知一二到理解掌握了CMMI5的基础知识,并开始慢慢地理清思路。

其实学习CMMI5是个融会贯通的过程,而在工作中,CMMI5的思想又是触类旁通的,过程改进的思想在工作中、生活中各个方面皆可运用。

我们将有用的数据抽离,并建立了基线和模型,在反复的实验中得到验证,用数据说话,指导项目实施。

为了实现CMMI5,我们深入地参与到CMMI5试点项目中,实际运用基线和模型、数据和模板,在实践中不断完善表格模板和体系文件,规范项目实施工作和管理机制,并做好公司过程改进,组织相关培训,在公司自上而下落到实处。

用实例证明我们的实力,成功地说服了主任评估师,最终华丽地完成CMMI5认证目标!宝剑锋从磨砺出,梅花香自苦寒来。

历尽千辛,最终尝到甜头,这次的胜利可以说是我职业旅途中的一座里程碑。

前方还有很长的路要走,持续的过程改进还在继续,我也会保持CMMI5工作的劲头,坚定地走下去!二、基线建立基线建立的前提是公司的项目管理过程趋于稳定,项目过程数据趋于可控。

基线反映了公司的过程性能能力。

我们是用Minitab工具以控制图的方式做出基线的,需要注意的是:控制图中的异常点不能随意删除,需进行根原因分析;表现差异较大的项目不能放在一起,应分类做出基线;项目经理在制定项目目标时,应参考组织级基线,结合项目特性确定本项目的目标;MiniTab的I-MR图对数据的检验规则如下:1)1个点距离中心线大于3个标准差2)连续9个点在中心线同一侧3)连续6个点,全部递增或递减4)连续14个点,上下交错5)2个点中有1个点,距离中心线(同侧)大于2个标准差6)4个点中有3个点,距离中心线(同侧)大于2个标准差7)连续15个点,距离中心线(任一侧)1个标准差以内8)连续8个点,距离中心线(任一侧)大于1个标准差三、模型建立模型建立的八步骤:(一)获取组织目标1)获取商业目标:结合往年的市场投入、同行竞争力分析得出当年的商业目标。

2)量化组织绩效目标:从商业目标出发,采集目标分析法,逐步分析出关键的组织绩效目标。

(确定目标)(二)比较当前基线与组织绩效目标的差距1)采集上一年的历史绩效数据:以组织绩效目标为基础,采集上一年的绩效数据,并分析出基线。

2)假设检验分析差距:用假设检验的方法分析当前过程能力与组织绩效目标的差距。

例:模型工作量控制在均值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)水晶球分析:用水晶球工具Crystal Ball(蒙特卡洛原理)分析模拟出,当前过程能力对目标达成的Certainty值,以及改进因子后对目标达成的Certainty值。

2)引入革新点和改进措施:从数据层面,分析因子的历史数据中,可改进的空间,并引出改进措施。

(需启动DAR确定革新点)(八)引入革新点的成本效益分析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确定部分的异常值。

②通过f(x1,x2)预测y值,分析异常值。

3、当x2部分确定时,①估计剩余的x2,估计x1;分析x2确定部分的异常值。

②通过f(x1,x2)预测y值,分析异常值。

4、当x1全部确定时,①估计x2;分析x1的异常值。

②通过f(x1,x2)预测y值,分析异常值。

5、当x2全部确定时,①估计x1;分析x2的异常值。

②通过f(x1,x2)预测y值,分析异常值。

(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的预测值进行异常值分析。

④异常值分析时,需分析造成该异常值的具体问题。

上年度历史基线本年度期望值UCLCLLCL(2)针对x的异常值分析时注意以下几点:①根据x的位置及分布进行分析:当x分布在以下2种位置时,需要分析异常点存在原因。

当x的分布不满足控制图检验时(参考控制图检验原则),需要分析异常点存在原因。

②需对x的实际值进行异常值分析。

③异常值分析时,需分析造成该异常值的具体问题。

上年度历史基线UCLCLLCL问题分析及改进方案(1)初步分析假设对x与y指标进行异常值分析时,梳理出以下异常点及问题:(2) 根原因分析使用帕累托图(Perato Diagram )分析各种原因类型的频率及累计比率,根据帕累 托法则(二八原理),即百分之八十的问题是百分之二十的原因所造成的,找出产生大多数问题的关键原因,用来解决大多数问题。

原因类型100%80%* 根原因分析:导致80%原因的根本原因(3)改进方案(1) 根据根原因,提出改进方案: 方案一:引进新工具 方案二:引进新工具 方案三:流程改进(2) 分析执行改进方案后y 的改进效果,分为以下两种情况:A. 预测执行改进方案后x 值提升幅度,并使用回归方程预测y 值提升效果。

B. 当y 出现实际值时,再次回归后用新的模型预测y ,并用水晶球模拟。

四、重用率估算实际功能点,是指《需求规格说明书》中归纳分析的功能点。

重用功能点,是指《需求规格说明书》中归纳分析的且被重用的功能点。

若功能点沿用其他项目或本项目中其他功能点的代码视为重用。

重用功能点(折算) 的两种算法:(1)重用代码行/有效代码行*实际功能点数*100%。

(2)(前台重用方法个数+前台组件重用个数+后台重用方法个数)/(前台方法总个数+前台组件总个数+后台方法总个数)*实际功能点数*100%重用率 = 重用功能点个数 / 实际功能点个数*100%五、功能点估算方法估算流程功能点估算方法,是从软件项目的功能需求角度来评估项目规模,功能点估算流程如下图所示。

识别项目的范围和边界识别功能点的类型和数量计算未调整的功能点数量确定和计算调整系数计算调整后的功能点数功能点估算方法的应用场景分为项目前期、需求明确及需求变更:项目前期,指从项目规划开始至需求规格明确期间。

需求明确时,指已完成需求调研,并形成了正式的需求规格说明书。

需求变更时,指在项目建设过程中,客户提出了变更需求,且已将变更需求更新到新版本的需求规格说明书中。

调整前功能点计算复杂度矩阵(项目前期)通过复杂度和功能点分类两个维度构建功能点分类-复杂度矩阵,并识别出每一个功能点所对应复杂系数Ki,调整前功能点数量的计算公式为:UFC=∑(Ki)。

功能点分类-复杂度矩阵如下所示:复杂度矩阵(需求明确、需求变更)以数据项数量和数据文件数量为维度,构建功能点的复杂度矩阵,功能点复杂度矩阵如下所示:根据功能点的复杂度矩阵,将功能点的复杂度(高、中、低)映射为复杂度系数(K),每类功能点的复杂系数如下表所示。

相关主题