MPM(managing performance and measurement)是CMMI DEV V2.0中实践最多的一个实践域。它将组织级的、项目级的度量实践,以及统计的和非统计的量化管理都融合到了一个PA中。它合并了CMMI 1.3版本中的MA, QPM等过程域的实践。
本实践域在落地时,需要使用到一些具体的量化技术,如:
基本的量化分析方法:
饼图;
柱状图;
横条图;
折线图;
雷达图;
……
统计技术:
回归分析;
方差分析;
假设检验;
箱线图;
蒙特卡洛模拟;
统计过程控制;
可靠性增长模型;
……
因此需要组织内进行这些量化管理技术的专题培训。
基本思想
所有的度量活动都是要紧紧围绕商业目标,所有的度量活动都要有价值。尽管任何活动都可以度量,但是我们不能有什么就度量什么,要有度量目标,度量要能帮助解决管理问题。
在软件组织中,有太多误用度量的案例了,比如:
有数据没分析;
有分析没结论;
有结论没行动;
仅仅为考核度量数据;
等等。
这些都导致度量活动不能在组织中真正发挥价值。
在此PA的意图中就特别强调了为商业目标而度量,在价值描述中强调了度量是帮我们提高投资回报率。CMMI高成熟度级别的组织就应该是通过量化管理减少无用功,不浪费,做最正确的事情,用最经济的活动来提高效率和质量。
基本概念
对三个与过程性能有关的核心概念:
过程性能:遵循已定义过程的历史结果的度量元。几层含义:
过程性能基线:执行已定义过程的过程性能的分布规律,包括集中趋势(如均值,中位数等)与离散程度(如标准差、四分位差等)的刻画。几层含义:
过程性能模型:执行已定义过程的过程性能与影响因子之间的因果规律,可以通过回归方程、模拟、概率网络等刻画这种因果规律。几层含义:
三个与目标有关的核心概念:
在本实践域中提到了三种类型的目标:
商业目标 BO,这是组织的高层定义的、宏观的总体目标,是由整个组织、或某个部门、某个单元来达成的目标;
度量和性能目标MPO:此类目标可以定量,也可以定性,但是一定要有定量的,是非高成熟度的实践中使用的术语;
质量和过程性能目标QPPO,这是定量的,统计管理的目标,是高成熟度的实践中使用的术语;
各类目标都可以层层分解,度量元帮助我们客户目标、了解目标达成的程度、识别影响目标达成的因子。
实践列表
MPM |
1.1 |
Collect measures and record performance. |
采集度量数据,并记录性能 |
MPM |
1.2 |
Identify and address performance issues. |
识别并处理性能问题 |
MPM |
2.1 |
Derive and record measurement and performance objectives from selected business needs and objectives and keep them updated. |
从选中的商业需求和目标中,派生并记录度量和性能目标,并保持更新 |
MPM |
2.2 |
Develop, keep updated, and use operational definitions for measures. |
制定、保持更新并使用度量元的操作定义 |
MPM |
2.3 |
Obtain specified measurement data according to operational definitions. |
依据操作定义获得特定度量数据 |
MPM |
2.4 |
Analyze performance and measurement data according to the operational definitions. |
依据操作定义分析性能和度量数据 |
MPM |
2.5 |
Store measurement data, measurement specifications, and analysis results according to the operational definitions. |
依据操作定义存储度量数据、度量规格和分析结果 |
MPM |
2.6 |
Take actions to address identified issues with meeting measurement and performance objectives. |
采取行动以处理所识别的问题,并满足度量与性能目标 |
MPM |
3.1 |
Develop, keep updated, and use organizational measurement and performance objectives traceable to business objectives |
制定、保持更新并使用可回溯到商业目标的组织级的度量和性能目标 |
MPM |
3.2 |
Follow organizational processes and standards to develop and use operational definitions for measures and keep them updated. |
遵从组织级的过程和标准,开发和使用度量元的定义并保持更新。 |
MPM |
3.3 |
Develop, keep updated, and follow a data quality process. |
制定、保持更新并遵从数据质量过程 |
MPM |
3.4 |
Develop, keep updated, and use the organization’s measurement repository. |
建立、保持更新并使用组织级度量库 |
MPM |
3.5 |
Analyze organizational performance using measurement and performance data to determine performance improvement needs. |
使用度量与性能数据,分析组织级性能以确定性能改进需求 |
MPM |
3.6 |
Periodically communicate performance results to the organization. |
向组织周期性地沟通性能结果 |
MPM |
4.1 |
Using statistical and other quantitative techniques, develop, keep updated, and communicate quality and process performance objectives that are traceable to business objectives. |
使用统计和其他量化技术制定、保持更新和沟通可以回溯到商业目标的质量和过程性能目标 |
MPM |
4.2 |
Select measures and analytic techniques to quantitatively manage performance to achieve quality and process performance objectives. |
选择度量元和分析技术,来定量管理性能以达成质量和过程性能目标 |
MPM |
4.3 |
Using statistical and other quantitative techniques, develop, keep updated, and use process performance baselines. |
使用统计和其他量化技术建立、保持更新和使用过程性能基线 |
MPM |
4.4 |
Using statistical and other quantitative techniques, develop, keep updated, and use process performance models. |
使用统计和其他量化技术建立、保持更新和使用过程性能模型 |
MPM |
4.5 |
Using statistical and other quantitative techniques, determine or predict achievement of quality and process performance objectives. |
使用统计和其他量化技术确定或预测质量和过程性能目标的达成 |
MPM |
5.1 |
Using statistical and other quantitative techniques, ensure that business objectives are aligned with business strategy and performance. |
使用统计和其他量化技术确保商业目标与商业战略和性能协调一致 |
MPM |
5.2 |
Analyze performance data using statistical and other quantitative techniques to determine the organization’s ability to satisfy selected business objectives and identify potential areas for performance improvement. |
采用统计和其他量化技术,分析性能数据以确定组织满足选中的商业目标的能力,并识别潜在的性能改进领域 |
MPM |
5.3 |
Select and implement improvement proposals, based on the statistical and quantitative analysis of the expected effect of proposed improvements on meeting business, quality, and process performance objectives. |
基于对满足商业目标、质量目标和过程性能目标的改进建议的期望效果的统计和量化分析,选择和实施改进建议 |
MPM 1.1 采集度量数据并记录性能数据
采集哪些度量数据?首先要识别需要的数据的角色,比如高层经理、部门经理、项目经理、测试人员等等。然后识别这些角色要解决的问题,他们向通过数据解决哪些问题?比如项目经理要控制进度、节约成本,部门经理希望提高产品质量等。最后根据这些问题识别需要采集的度量数据。在模型中对度量数据有定义:可以被记录、沟通和分析的定性的或基于定量的信息。
而性能如前面所讲,分为过程性能与业务性能。过程性能是对执行过程结果的度量,可以是表征过程的度量元,如工期、缺陷清除率等;也可以是表征过程输出物的度量元,如缺陷密度、响应时间等。过程性能是项目级的、任务级的,归集起来可以到业务性能,业务性能是组织级的、业务级的。业务性能数据如:客户满意度、销售额、利润等。这里说的归集不是单纯的累加,而是综合作用的含义。
关于从过程性能归集得到业务性能的方法举例如下:
|
过程性能 |
业务性能 |
归集方法 |
情形1:求平均 |
每个产品的缺陷逃逸率 |
整个公司的平均缺陷逃逸率 |
每个产品都有缺陷逃逸率,求出其总的平均值,得到整个公司的平均缺陷逃逸率。 |
情形2:累加求比例 |
每个产品都有交付后的缺陷个数,都有内部发现的缺陷个数 |
整个公司的缺陷逃逸率 |
每个产品都有交付后的缺陷个数,都有内部发现的缺陷个数,分别累加,然后相除,得到整个公司的缺陷逃逸率 |
情形3:求比例 |
项目延期与否 |
整个公司的项目延期率 |
每个项目都延期或不延期,公司1年有200个项目,合计有50个项目延期,整个公司的项目延期率是25%。
|
情形4:直接累加 |
某个项目交付的需求规模 |
组织级交付的需求规模 |
把每个项目交付的需求规模累加起来得到整体交付规模。 |
情形5:直接采集 |
|
组织级的客户满意度 |
组织级的客户满意度是针对所有的用户直接进行客户满意度调查得到的结果。 |
MPM 1.2识别并处理性能问题
对采集的数据通过横向对比分析与纵向对比分析发现问题,并解决问题。
纵向对比分析是和历史、和计划对比,横向对比分析比较同一时刻,不同对象之间的对比。
MPM 2.1从选中的商业需求和目标中,派生并记录度量和性能目标,并保持更新
围绕商业目标识别度量需求、度量元。采集了度量数据后,有可能会优化商业目标,互相影响。
MPM 2.2制定、保持更新并使用度量元的操作定义
度量元的操作定义即对度量元的详细定义,包括:
度量元的类型:基本度量元、派生度量元;
度量元的刻度:定类数据、定序数据、定距数据、定比数据;
度量元的含义;
度量元的计量单位;
基本度量元的采集方法;
派生度量元的计算方法;
数据采集的责任人;
数据采集的时机;
数据校验的方法;
数据存储的位置;
数据展示的方法;
通过数据识别问题的方法;
数据分析周期;
数据存取额权限分配;
……。
操作性定义的目的是:确保大家对度量元理解一致,确保度量数据可以可重复的精确采集。
MPM 2.3依据操作定义获得特定度量数据
采集数据以及校验数据。
MPM 2.4依据操作定义分析性能和度量数据
对度量数据分析时,通常可以采用七种图形:
成分 |
类别对比 |
时间序列 |
频率分布 |
相关性 |
多系列 |
多指标 |
|
饼图 |
√ |
||||||
条形图 |
√ |
√ |
|||||
柱状图 |
√ |
√ |
|||||
线性图 |
√ |
√ |
|||||
散点图 |
√ |
||||||
箱线图 |
√ |
||||||
雷达图 |
√ |
MPM 2.5依据操作定义存储度量数据、度量规格和分析结果
存储数据及分析结果。存储时要注意把数据采集的一些背景信息也要保存完整,便于将来的分析与使用。比如:项目的类型、生命周期类型、客户的特点、采集人、采集时间等等。
MPM 2.6采取行动以处理所识别的问题,并满足度量与性能目标
根据数据的分析结果,识别问题,解决问题。
MPM 3.1制定、保持更新并使用可回溯到商业目标的组织级的度量和性能目标
对组织级的商业目标进行层层分解细化,得到组织级的度量和性能目标。
和2级不同的是,2级是项目级的,不是组织统一的。
MPM 3.2遵从组织级的过程和标准,开发和使用度量元的定义并保持更新。
组织级统一定义度量元,所有的项目组按照统一的定义采集数据,这样才能进行组织级的统一数据分析。
MPM 3.3制定、保持更新并遵从数据质量过程。
校验数据的正确性。
MPM 3.4建立、保持更新并使用组织级度量库。
组织级建立度量库。
MPM 3.5使用度量与性能数据,分析组织级性能以确定性能改进需求。
组织级通过定量数据识别改进点。
MPM 3.6向组织周期性地沟通性能结果。
定期在组织内分享、沟通度量分析的结果。
MPM 4.1使用统计和其他量化技术制定、保持更新和沟通可以回溯到商业目标的质量和过程性能目标。
质量与过程性能目标是定量的,而且要满足SMART原则:
S:specific, 明确的,文档化的,可以详细描述的,可以细拆分的;
M:measurable,量化的,定量表达的;
A:attainable,可实现的,可行的,具有比较高的达成概率的;
R:relative,有关的,相关的,来自于商业目标的;
T:time-bounded,有时间限制的。
可以通过过程性能基线、过程性能模型、模拟等方法与历史的性能进行比较,判断目标达成的概率,确保目标是可行的。
MPM 4.2选择度量元和分析技术,来定量管理性能以达成质量和过程性能目标。
在实践中常用的定量技术如:
统计过程控制;
通过回归方程计算预测区间;
蒙特卡洛模拟;
MPM 4.3使用统计和其他量化技术建立、保持更新和使用过程性能基线。
建立过程性能基线的方法常用的有如下几种:
1 控制图法
2 箱线图法
3 置信区间法
建立过程性能基线时,要注意进行细分类,不同特征的对象建立不同的过程性能基线。可以通过箱线图、方差分析帮助识别这种应该分类的现象。
MPM 4.4使用统计和其他量化技术建立、保持更新和使用过程性能模型。
建立过程性能模型常用的方法有如下几种:
1 回归方程
2 方差分析
3 logistics回归
4 模拟
4 概率网络
建立过程性能模型时也要注意分类建立模型,不同的部门、不同的产品线、不同的开发平台、不同类型的项目、不同的生命周期模型、对组织级流程的不同裁剪可能过程性能的因果规律是不同的。
MPM 4.5使用统计和其他量化技术确定或预测质量和过程性能目标的达成。
预测目标达成概率的方法:
1 通过回归方程等执行what-if分析,得到过程性能的预测区间,使其有比较高的概率达成目标。
2 通过性能基线预测目标达成的概率。
3 通过蒙特卡洛模拟预测目标达成的概率。
在项目或任务执行过程中可以:
1 通过控制图或目标的实际值是否落在预测区间内,识别造成离群点的特殊原因;
2 通过计算过程能力指数判断过程能力是否需要提升;
3 通过what-if分析可以改变可控因子的数值以提高达成目标的概率;
4 通过原因分析识别异常的原因、能力不足的原因、目标不能达成的原因;
MPM 5.1使用统计和其他量化技术确保商业目标与商业战略和性能协调一致。
平衡历史性能与未来目标,确保目标切实可行。
MPM 5.2采用统计和其他量化技术,分析性能数据以确定组织满足选中的商业目标的能力,并识别潜在的性能改进领域。
通过统计技术识别改进点,确保不做无用功,少做无用功,精准定位问题。
MPM 5.3基于对满足商业目标、质量目标和过程性能目标的改进建议的期望效果的统计和量化分析,选择和实施改进建议。
通过统计技术对改进建议进行定量分析,选择投入产出比最高的改进措施。
过程映射与定义建议
本实践域中包含了项目级与组织级的实践,将组织级的具体做法向本实践域映射时,或者参考本实践域建立组织自己的过程时,可以参考如下的图形: