过程、性能基线、性能模型与目标之间的关系

来源:互联网 发布:北航网络信息安全中心 编辑:程序博客网 时间:2024/05/17 23:23

过程:
过程是一组有序活动的集合。过程可以包含多个输入与多个输出。过程的输出可以是一个工作产品也可以是一个结果。

过程与过程之间的关系可以分为:
  交互影响关系:即两个过程之间是互相的影响的,过程A的输出影响了过程B的输出,比如需求开发过程的质量影响了需求评审过程的缺陷个数的多少,影响了系统测试阶段发现的缺陷个数的多少。
  替换关系:即两个过程可以互相替换,比如OO的需求分析过程、结构化的需求分析过程,当执行需求分析时可以从两个过程中任选其一。
  整体部分关系:过程可以拆分为子过程,子过程是过程的子集。比如需求开发过程可以拆分为需求获取、需求分析、需求描述、需求评审子过程,需求评审子过程又可以拆分为需求审查子过程、需求走查子过程。


性能基线:
对于过程的输出可以建立基线,即描述过程性能的历史分布,建立基线的目的是为了刻画历史过程的性能,确定过程输出的稳定的范围,如果过程是稳定的,则说明过程是可以预测的。对过程的输出建立基线时,可以针对2类度量数据:
相对数:如缺陷密度、开发效率、偏差率等。
绝对数:如缺陷个数、延误的工期、代码的规模等。
一般是针对相对数建立基线。建立基线的度量数据应该是在不同的样本点之间具有可比性,具有相同的条件与机会域。
如果过程的输入Xi是另外一个过程的输出,则Xi也可以建立基线。


性能模型:
输入与输出之间的定量关系即模型。如果包含了可控的变量,且模型不是确定性的模型,则称此模型是性能模型,否则只能称为预测模型或估算模型。为了控制过程的输出,可以建立输出与输入之间的关系,即Y=f(x1x2….),可以通过改变X的值来改变Y的值。在模型中的X可以区分为可以控制的X与不可控的X,所谓可控的X是指在执行某个过程时,可以通过改变X的值改变Y,不可控的X是指该X是固定的,不可改变,无法或很难改变X来控制Y。比如,我们建立了一个性能模型,采用父母的身高以及营养水平、体育锻炼等因子预测孩子的身高,即:
孩子的身高=f(父亲的身高,母亲的身高,营养水平,体育锻炼水平)
其中父母的身高就是一个不可控的X,对于一对夫妻而言,想要提升孩子的身高,可以加强营养和进行适度的体育锻炼,营养水平与锻炼水平就是两个可控因子。不可控的X决定Y的大致范围,即当已知父母的身高时,孩子的身高以很大的概率在一定的范围内浮动,这对父母生的所有孩子不是等身高的,孩子之间的身高差异,是由于那些可控的X决定的。
模型和基线一样都是基于历史数据建立的。对于模型中的Y可以建立基线,也可以不建立基线。比如Y是项目的总工作量,则Y就无法建立基线;如果Y是工作量偏差率,则Y就可以建立基线。同理,对于模型中的某个X可以建立基线,也可以不建立基线,也并非模型中一定要有一个建立了基线的X
如果对于性能模型中的Y建立了基线,则在确定目标时,可以充分利用基线与模型判断目标的合理性与可实现性。


过程性能与质量目标:
目标是对过程输出的期望,制定目标时应立足过去,展望未来。立足过去即要基于基线建立目标,展望未来即要通过性能模型预测目标的可实现性。目标的制定要满足SMART原则,即明确、可度量、可实现、与商务目标相关、有时限。
目标可以有整个项目的目标,也可以定义拆分到某个阶段或过程的目标。目标与目标之间可能有关联关系,或互相制约,或互相促进。在定义目标时,应注意平衡目标之间的制约关系。
目标可以是过程性能的期望值,如评审的缺陷检出密度(单位规模内发现的缺陷个数)、评审的效率(单位时间内发现的缺陷个数)、评审的速率(单位时间内评审的文档规模);也可以是工作产品质量的期望值,如代码的潜在缺陷个数或潜在缺陷密度。
目标是通过过程的执行实现的,即目标是绑定在某些过程上的,有些关键的过程决定了目标的达成,需要识别出关键的过程,并对这些过程进行控制。在进行项目的过程设计时要判断过程的组合是否能实现过程目标。在项目进展过程中,要实时关注目标的达成情况,可以将目标值与实际值进行对比,也可以采用性能模型实时预测目标的达成情况。过程能力分析技术可以帮助度量过程能力达成目标的情况。

原创粉丝点击