Humphrey眼中的过程性能预测模型是怎样的?

Humphrey眼中的过程性能预测模型是怎样的?

对软件世界带来改变的CMMWatts Humphrey登上了质量大神的地位,CMM汇总了软件工程方方面面的优秀实践,让过程和软件质量衔接上了。其中定义的高成熟度级别,更让全球软件组织为之努力。

 

    2021年中国完成了近3000次评估,超过全球总数的80%,通过四级、五级的组织数量也是遥遥领先。但几乎没有例外,这些组织在改进和评估过程中有两个普遍:第一个普遍是几乎都被高成熟度实践要求的过程性能模型折腾的焦头烂额。第二个普遍是到头来觉得它为项目管理和组织改进活动带来可观价值少之又少。如果我们做个CAR的话,定能发现一堆根因,其中不可回避的一个问题是:数学统计模型真的能用在软件场景吗?CMMI认证

 CMMI认证

    最近做培训时,有同学问了一个问题:在最早的CMM软件模型中,Humphrey是怎么定义过程性能模型的?对于这样的好问题,我向来不惜笔墨回答。

 

    上个世纪九十年代流行的CMM一共有五个高成熟度的关键过程域(KPA– key process area),四级有量化过程管理(Quantitative Process Management),软件质量管理(Software Quality Management);五级包含了缺陷预防(Defect Prevention),技术变更管理(Technology Change Management),过程变更管理(Process Change Management)。其中过程性能基线(process performance baseline)在四、五级活动中非常醒目,但过程性能模型(process performance model)这个词自始至终未出现过。

 

    那么Humphrey没有考虑过预测模型吗?非也!在为推动普及CMM而写的“管理软件过程”一书中,他也提到了软件质量预测模型(Software Quality Models)。老人家提到的质量模型是用来估算软件质量情况,指导项目的质量策划、管理工作,同时用来支持软件组织过程改进,通过缺陷预防分析,识别针对性的整改,不断减少泄露缺陷。

    老人家眼中的预测模型不是中规中矩的数学模型,他认为数学模型不适用的原因是它们都需要严格的假设,这些假设非常不适用于软件过程,如下列假设(重点来了!敲黑板!):

  缺陷是相互独立的

  缺项数是常数

  每个缺陷修复后测试才能继续

  所有缺陷都是可以发现的

  测试可以等同运行环境的深度和广度

  缺陷率和当前系统遗留缺陷数相称

  事故间距是独立的

  不同级别的缺陷同等重要

  在测试和修复过程中不会引入新的缺陷

  在调试和运维期间缺陷率会不断下降

    那么Humphrey眼中的软件预测模型应该是什么样的呢?他是这么说的:

 

模型必须体现软件开发的方式,找不出漂亮的数学模型也没什么,我们完全可以用类似算法的方式做出质量预测。

 

文章来源丛斌博士

 


点击关闭
  • CMMI认证客服

    CMMI3认证客服

    CMMI咨询

    CMMI4认证