统计过程控制技术在其它工业的成功应用,使得人们逐渐认识到改善软件过程对改进软件产品质量的作用,因此软件行业也希望借助于统计过程控制技术实现产品质量管理方法从传统的事后检验和测试向缺陷预防系统转变,实现对软件开发过程的实时监控。预测软件产品和软件过程的未来特征。
1 spc技术概况
统计过程控制SPC是Statistics Process Control的缩写,它指应用统计学的方法,分析过程的样本统计数据,以此判断生产过程的波动是否处于可接受状态,在必要时,调整过程参数,以降低产品质量特性值过多地偏离目标值,使整个过程维持在仅受偶然因素影响的稳定受控状态,以提高过程的效能,它对过程中的各个阶段进行分析与监控,从而达到改进与保证质量的目的。因此,SPC技术在许多行业内的应用范围也已经非常广泛。
1924年美国质量大师休哈特博士首先发明了控制图方法进行工序控制,以稳定生产过程的质量,控制图是SPC最核心的工具,控制图是对选定的过程质量特性加以测定、记录从而进控制管理的一种用统计方法设计的图。控制图的横坐标表示时间或按时间顺序抽样的样本编号,通常为子组号,纵坐标表示质量特性值或质量特性值的统计量(如子组平均值x、子组极差R等),它包含一条中心线(CL);两条上下控制界限(UCL)、(LCL)。如图1所示,按统计量分,控制图可分为计量值控制图(Xbar-R图、Xbar-S图等) 和记数值控制(P图、C图、U图等)它们均有各自适用的范围。
图1 控制图结构
2 软件过程中应用SPC
软件行业中SW-CMM、CMMI等都体现出这种“过程控制”和“统计控制”的理念。
CMMI4级“定量管理级”要求建立质量和过程性能的定量目标,确定和纠正过程变异的特殊根源(异因,在SPC中也称为系统因素),防止未来再次发生这些变异;CMMI5级“优化级”关注在增量和创新技术改进过程中过程性能的持续改进、确定、评估和改进导致过程变异的公共原因(偶因,即偶然因素)。
针对目前软件产业中存在的一些问题,需要用基于数据的客观方法来观察问题,研究问题的内容以及产生问题的原因,从而找到一些解决问题的方法和途径,不断改善软件的开发管理过程,提高产品的质量。统计过程控制(SPC)有助于对软件开发中的各项活动进行定量的了解和精确的控制。同时也有助于对过程的改进和产品的改进提供明确的指导。SPC有利于事先分析改进活动的成本效益,预测改进后的效果;事中进行定量的跟踪与监控,客观及时地发现活动中的问题,便于采取精确的纠正措施;事后能够进行客观定量化的分析与总结,对于软件企业的资产积累就有非常实用的效益。在软件过程改进活动中,SPC有助于人们理解人类过程的“可靠性”;为过程建立管理希望的边界;理编偏差的原因和模式;确认用于预测和计划的度量分析模型;对项目进行定量的管理和控制。
2.1 用控制图监控软件过程胜能稳定情况
在CMM/CMMI模型中,定量项目管理(QPM-Quantitative Project Management)是CMM/CMMI模型第4级的一个过程域,是对项目管理的高层次的要求;用SPC作为工具来建立的过程性能基线,是进行定量项目管理的基础和依据,统计过程控制有助于软件工程人员识别、测量和分析各种引起系统差别的原因,从而采取措施减少和防范这种偏差,使过程趋于稳定。稳定的过程是在统计过程控制下的过程,即它的可度量特征或过程性能的基础分部是始终如一的,只有对稳定的过程进行统计分析,建立过程性能基线才是有意义的。统计过程控制及其相关的控制图是研究过程系统稳定性的有效工具。控制图以图形方式表示过程随时间的变化用于区别异因和偶因引起的偏差。在剔除异因的影响之后,就可以利用统计过程控制中的XmR图得到过程的性能基线。
假设已设定义出了项目计划的过程,那么就可以通过度量项目估算的准确性,来检查项目的计划过程的能力。统计一段时期内组织内的所以项目的估算偏差,使用控制图来检查这个过程的稳定性,分析过程的性能。如下:
例:某项目过程管理中,进度偏差如表1所示,用SPC的XmR控制图实现对数据的统计分析及控制。
表1 项目备份阶段的进度偏差
XmR图的中心线和控制限的计算公式如下:
1)平均计算公式为:
由此得出控制图2—图3。
图2 X图
图3 mR图
从图中看出,没有数据点超出了界限,也没有异常行为模式,因此该过程是处于统计控制之中的,可以使用这些数据建立过程能力基线,来衡量以后的过程行为性能,此项目过程整体性能稳定。
2.2 继续利用spc技术改进软件过程性能
上述案例中,项目虽然整体性能过程稳定,但可以看出因为编码阶段出现稍大进度偏差,导致后续工程进度偏差出现打的波动,项目管理延迟。可见,这种控制图可检测异因(系统因素、外部因素)对软件过程中的各种干扰因素,进行过程改进,并指导分析与决策的一项技术,其目的就是为了对过程进行持续的改进,这一点在软件过程改进过,就是指能力成熟度的最高级CMMI5级——持续不断的改进和防措施,防止或者减少这种原因的出现,使过程更加的稳定。这是一种文体解决型的改进,其过程本质上并没有发生,但它可以使过程更加稳定,控制的范围变得更窄,这同时也意味着管理控制的能力的提高。
3 总体与展望
统计过程控制技术提供了一种对软件过程进行观察和分析的依据,形象的说,是一种诊断的工具,而不是治疗或解决问题的措施,统计过程技术的使用建立在组织和人员对过程、技术、管理等各个方面具有相应水平的环境下,才能更好的发挥作用。设计度量和收集相关的测量数据去建立过程性能模型和进行过程改进是一种主动的统计过程控制方法,仅依靠控制图则是一种被动的方法。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:spc技术在软件过程监控中的应用探讨