1. 能力图基础
软件过程能力度是软件过程对需求的满足能力。但是只有在稳定的软件过程前提下谈软件过程能力度才有意义,因为过程行为和产品特性是动态变化的,只有当过程是稳定的其行为结果才具有预测性,才可能分析现在以后的过程和产品满足需求的程度。因此,软件过程能力度概念内涵中包括了过程稳定性和满足客户需求的能力两方面的内容。下图中通过能力给出在软件开发过程中对软件缺陷处理子过程能力度的一个评价。图中子过程的特性是软件问题的生命周期,实际均值表示软件问题的平均生命周期是4.7天,实际上限表示软件问题的最长生命周期是10.7天,已发现问题存在的最长时间小于目标上限,这表示项目修改软件问题子过程是满足需求的、有能力的。但我们应该清晰地认识到,对软件过程能力的分析和应用与过程的上下相关信息密不可分。以此子过程为例,不同软件过程阶段对缺陷处理时间有不同需求,在软件开发阶段,该子过程的客户需求表现为内部需求,由软件项目组参照企业规范或其他规范(国标或军标)根据项目实施情况制订;而在软件维护阶段,客户需求表现为用户需求,通常企业在产品的维护阶段在人力和资源的投入上与开发阶段有很大的差异,在不同阶段应用过程性能数据表示的过程能力度进行预估时必须明确在什么样的人员和资源环境下达到的过程能力。
2. 能力图算法
n PP:初期能力指数,通过计算规格展开和过程展开之间的比率来度量过程是否能够满足规格要求, 值越高,过程的能力越大。 (目标上限-目标下限)/ 6*标准差
n PPU:衡量过程平均值接近规格上限的程度。 (目标上限-均值)/ 3*标准差
n PPL:衡量过程平均值接近规格下限的程度。 (均值-目标下限)/ 3*标准差
n PPK:等于 PPU 和 PPL 中的较小者
n PPM:每百万单位中的事件或缺陷数目?(第二代能力指数)
n CP:能力指数,通过计算规格展开和过程展开之间的比率来度量过程是否能够满足规格要求, 值越高,过程的能力越大。(目标上限-目标下限)/ 6Sigma
CP > 1.67,特级,能力过高(可能目标太低)
1.33 < CP <= 1.67,一级,能力充分
1.0 < CP <= 1.33,二级,能力尚可
0.67 < CP <= 1.0,三级,能力不足
CP < 0.67,四级,能力严重不足
n CPU:测量过程均值趋近规格上限的程度。(目标上限-均值)/ 3Sigma
n CPL:测量过程均值趋近规格下限的程度。(均值-目标下限)/ 3Sigma
n CPK:等于 CPU 与 CPL 中的较小者
n CPM:一个整体能力指数,用于度量过程是否符合规格要求以及是否位于目标处 (第二代能力指数)
(1):(目标上限-目标下限)/ 6*(每个样本减目标值平方和除以N-1再开根号〕
(2):(目标上限-目标下限)/ 6*(均值与目标值差的平方+Sigma平方之和开根〕
3. 基于能力图进行过程改进
对软件过程上限不在客户需求范围之内的过程,需要采取措施使软件过程满足客户需求和企业目标,从过程性能结果来看,有三种方式:(1)减少过程偏差,表示在目前的过程能力度层次下,使过程性能数据尽可能靠近过程均值周围分布,如下图(a)所示,过程均值未发生变化。(2)平移过程平均值,提高过程能力度层次,如在软件问题处理过程中,采用工具支持,从人均每个工作日解决5个问题提高到解决8个问题,表现在过程控制图上如下图(b)所示。(3)改变客户需求和企业目标。降低要求使过程能力包括在目标上限内,如下图(c)所示。在这三中措施中,前两种涉及到软件过程的改善,一是使过程更稳定,过程偏差范围更小,二是引进软件过程变更(如新技术、新工具和提高人员素质等),提高软件过程能力层次。在实际的项目过程中,这三种满足过程能力度需求的方式是综合应用的。
4. 能力图在MiniTab 16中的应用
MiniTab 16,"统计“--”质量工具"--”能力分析“--”正态“。(应用前先对数据进行正态分布验证)