为什么无法建立过程性能模型?

CMMI四五级的软件公司中,建立过程性能模型是一个重点也是一个难点工作,很多公司无法建立过程性能模型,为什么呢?

  1)数据不准

  比如:

  ? 对于评审的会议,评审的参与人有的是来学习的,在统计人数、工作量时就不应该统计在内。

  ? 有的数据当时没有采集,而是靠时候回忆采集上来的。

  ? 有的代码行数不是通过工具统计上来的,而是靠人估计估计出来的。

  2)过程不稳定

  过程不稳定的原因可以细分为:

  i)过程太大

  比如:对于整个项目的工期偏差率建立回归分析模型,由于影响因子太多,每个因子都有影响,但是影响都不是很大,这样对于采集数据的要求,过程的稳定性等要求很高,很难建立起回归方程,因此此时需要划分项目的阶段建立每个阶段工期偏差率模型或者不去细致的分析影响因子,而是建立蒙特卡罗的模拟模型,或者分不同类型的项目建立回归方程。

  ii)过程定义不稳定

  在过程定义中定义的不够细致,对于过程成功的要点没有定义清楚,比如:

  对于评审的流程,为了保证评审过程的稳定,应该要求:

  ● 评审的时长不能超过2小时。

  ● QA跟着每次评审控制会议不要过多讨论。

  ● 会议开始是要声明规则。

  ● 评审会与讨论会要分开。

  iii)过程执行不稳定

  在流程定义中有要求,但是实际执行时没有做到位,比如:

  ● 开评审会的时候进行了大量的讨论比如设计的评审会,所以会议的工作量、会议的时长都不准。在设计会议上讨论了设计方案的合理性。

  ● 会议的时间超过了2个小时,4个小时的评审会议,后边的2个小时效率很低的。

  ● 会议的主持人在会议上没有讨论的现象进行控制。

  iv)过程的输入不稳定

  不同的项目在执行过程时,投入差别太大,过程执行的前提条件不稳定,导致过程的输出也会不稳定。比如:测试过程投入的单位工作量,有的项目投入的多,有的项目投入少,而如果这些输入没有被识别出来作为因子的话,则方程就无法建立起来。

  3)影响因子(X)识别不全

  ● 在识别对于Y的影响因子时没有识别出来关键的影响因子,比如测试过程的单位规模的测试工作量等;

  ● 识别了关键影响因子但是不好量化表达,采集数据有难度,比如人员的技术水平;

  ● 采集了关键因子的度量数据,但是数据不全,缺少样本点;

  影响因子的识别需要经验识别,也需要统计的假设检验,也可以进行实验设计。

4)对于大过程建模,影响因子太多,每个因子相关性都不大

  如果是对于大的过程建模,则可能存在如下的问题:

  ● 影响因子多,每个因子的相关性都不是很大;

  ● 影响因子多,采集数据有难度,对每个数据都要求很准确;

  ● 影响因子之间彼此有交互叠加的作用,有相关性,建模困难。

  5)样本量太少

  样本量太少,增加或删除一个样本对回归的结果影响很明显,则规律不具有典型性。比如,在下图中如果删除右上角的一个点,则两个变量之间就没有相关性了,如果删除了右下的2个点则两个变量之间就是相关的。之所以出现这种现象就是样本点太少而导致的。

  6)样本不随机

  比如有2个变量X1,X2与Y都应该是正相关的,但是在实际中存在的数据却是:

  正相关  正相关 
x1  x2 
中  大  小 
中  小  大 

  此时如果对这些类型的数据进行分析,则表现出来Y与X1,X2是不相关的。

  以测试过程为例,我们的经验与常识:

  假设或常识1:高水平的测试人员找出的BUG多, 低水平的测试人员找出的BUG少。

  假设或常识2:高水平的开发人员犯的错误应该少,低水平的开发人员犯的错误应该多。

  我们的实际数据:

  在实践中常常采用的策略:

  策略1:关键的模块应该由高水平的开发人员进行开发,非关键的模块由低水平的开发人员进行开发。

  策略2:高水平的测试人员要测关键的模块,低水平的测试人员测试非关键的模块。

  如果是这样,对于测试过程做了度量以后,数据无法证明假设1和2的成立。

  以上六个原因就是最常见的原因,这些原因在实际中克服起来并非那么容易,这也是为什么4-5级需要比较长的实施周期的原因。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-08 17:53:13

为什么无法建立过程性能模型?的相关文章

Oracle数据库性能模型

原文转自:http://www.hellodb.net/2010/06/db-performance-analysis.html 最近一直在思考一个问题:如何为一个数据库建立性能模型?作为一名DBA来说,我们面临的一个巨大挑战是:如何保证数据库的性能可以满足快速变化的应用的需求,如何在数据量和访问量持续增长的情况下,保证应用的响应时间和数据库的负载处在合理的水平下.我们可能会经常面对以下的问题:某个SQL每秒要执行100次,响应时间是多少?某个应用发布后,对数据库的影响如何?所以,评估应用对数据

《Power Designer系统分析与建模实战》——3.2 建立业务处理模型

3.2 建立业务处理模型 创建业务处理模型主要有如下两种形式: 1)直接新建BPM. 2)从已有的BPM生成新的BPM. 本节主要讲解在Power Designer中直接新建BPM的方法. 3.2.1 创建BPM 选择"File"→"New"菜单项,从弹出的新建模型窗口中选择"Model types"→ "Business Process Model"→"Business Process Diagram",

使用AMOS图形建立和检测模型(3)

使用AMOS图形建立和检测模型 EM--多重回归关系的说明 本质上,SEM 是带一个因变量(Y)的多重线性回归模型在多变量上的扩展: y = i + Xb + e 这里 y 是因变量上包含观测得分的向量, i 是表示y-截距的单位向量, X 是连续分布或分类(编码)自变量的矩阵, B 是回归权重向量, e 表示残差向量或误差或不能由模型解释的剩余得分. SEM 由一系列多重回归方程组成 – 所有方程被同时拟合.事实上,使用SEM软件能够产生回归分析. 典 型的多重回归分析产生几个统计量,包括整体

图解HTTPS建立过程

阅读目录 准备工作(对应图中prepare1234) 发起链接 最后 关于网络安全加密的介绍可以看之前文章: 1. 网络安全--数据的加密与签名,RSA介绍2. Base64编码.MD5.SHA1-SHA512.HMAC(SHA1-SHA512)3. When I see you again(DES.AES.RSA.Base64.MD5加密原理介绍,代码实现) HTTPS建立过程相当复杂,下图为示意图,可以有整体认识,一般我们编程知道这些已足够. 如果你想仿照HTTPS实现类似加密,可以阅读下具

matlab 数据处理-Matlab DACE工具箱建立的kriging模型如何具体函数化

问题描述 Matlab DACE工具箱建立的kriging模型如何具体函数化 要利用这个kriging模型进行参数优化,但是用DACE工具箱做出的kriging模型是个整体形式,返回值有kriging模型的参数theta,beta,sigma^2等参数.能把它转换成一般普通函数形式吗? 解决方案 可以的,看那个dace和很多文献的介绍里,最后Y是有一个表达式的,但是比较复杂.

l2tp pap chap-关于l2tp隧道建立过程,我的这个认证失败是那一步认证有问题

问题描述 关于l2tp隧道建立过程,我的这个认证失败是那一步认证有问题 如图这是正常的L2TP隧道建立过程 我抓包看到情况是这样 ![图片说明 我分别用pap和chap进行认证 都在认证过程中报错 这个认证是第一个图中的第七步还是第九步呢 为什么会产生这个问题

数据切分——Mysql分区表的建立及性能分析

        Mysql的安装方法可以参考:         http://blog.csdn.net/jhq0113/article/details/43812895                 Mysql分区表的介绍可以参考:         http://blog.csdn.net/jhq0113/article/details/44592865               1.检查你的Mysql是否支持分区         mysql> SHOW VARIABLES LIKE '%

用KNIME建立客户流失模型

PMML是一种可以呈现预测分析模型的事实标准语言,用于呈现数据挖掘模型.预测分析模型采用定型过程中获取的知识来预测新数据中是否有已知模式.PMML允许您在不同的应用程序之间轻松共享预测分析模型.因此,您可以在一个系统中定型一个模型,PMML中对其进行表达,然后将其移动到另一个系统中,并在该系统中使用上述模型预测机器失效的可能性等. 今天我们运用决策树算法训练一个客户流失模型,进行"客户流失"的预测分析. 结点概览 读取数据.这里读取两个数据文件,一个是通话数据和合约数据.接着讲两个数据

A10网络公司的AX系列应用交付平台建立行业性能记录

新的64位硬件和软件解决方案,增强SSL 2048位主要性能,虚拟机箱增强和Diameter协议支持A10 Networks应用交付解决方案技术领导公司于2011年5月12日发布了一个新的高级核心操作系统版本2.6.1版,支持其旗舰AX系列应用交付控制器新的硬件和软件型号和功能的增强,提供了该类别产品中最高的性能和全面的应用特性.A10网络的AX系列ADC是新一代的服务器 负载均衡器,创新的64位共享内存,多进程,多内核,多CPU架构使其在性能,可扩展性,效率和灵活性方面超越对手."2.6.1版