QPM:Quantitative Project Management,量化项目管理
一、访谈问题
1、请简要介绍贵司的QPM管理的管理方式?
依据公司整体商业目标和CMMI要求,制定和部署了《量化项目管理过程》和相关的指南、模板。
在项目执行中,根据组织的PPB/PPM和项目组需要,设定特定目标,然后进行数据收集、异常点判断、异常点原因分析,实施改进措施及成效分析,来确保项目的QPPO目标可以达成。
2、项目是如何建立和维护项目的QPPO的(质量和过程性能目标的)?
1)立项阶段,根据组织的商业目标和客户目标来确定项目QPPO,同时运用PPM对项目QPPO进行了预测并确定项目目标可以达成。
2)项目的中期目标用各阶段QPPO达成概率来描述。(组织级定义的达成概率即置信度是80%)
3、展示一下你项目的QPPO?计划目标、实际目标?组织级置信度(确定性)是多少?如果有7%不可达成是否可接受?
18年QPPO质量和性能目标:1年内产品交付后遗留缺陷密度在原来性能基线0.828(均值)降低10%达到0.745(均值)
客户要求交付后产品遗留缺陷密度平均值控制在0.95/KLOC左右,组织级遗留缺陷密度为0.745,因为客户要求小于组织级要求,因此实际目标0.745
可接受,因为组织级定义的置信度要求是80%
4、对项目的质量和过程性能目标,是如何预测达成的可能性的?是如何选择选择子过程和关键属性的?
1)立项时综合运用了水晶球工具和敏感性分析来预测达成的可能性;
2)通过敏感性分析,发现编码阶段单位工作量对QPPO达成目标影响比较大,所以经过分析后,考虑到成本等各类因素影响,采取对编码单位工作量提高10%的措施,同时也把编码阶段作为关键子过程重点监控。
3)需要找文件《选择子过程并量化定义》
5、如何选择量化管理的度量与分析技术的?
1)通过运用控制图,箱线图等技术工具进行项目量化管理活动。
2)箱线图、控制图可以用来排除意外点,控制图还能通过正态分布情况看稳定性。
(统计小知识:概率图关注P>0.05代表数据可接受,符合正太分布 ;控制图关注稳定性,数据异常情况:超出上下限(UCL\LCL);连续N个点在同一侧、连续6点连续递增、递减等;K+1个点距离中心线大于1个标准差等;变异系数要<0.15 说明波动范围小)
6、如何使用统计和其他量化技术对已选择的子过程性能进行监控的?如何使用统计和其他量化技术对项目进行管理,以决定项目的质量和过程性能目标是否得到满足的?如何对已选择的问题进行根本原因分析以解决实现项目的质量和过程性能目标时的不足?
运用Minitab、Oracle Crystal Ball等工具在每个阶段结束后预测,在关键子过程(编码、系统测试)进行每天监督以及数据收集。如果监控过程中发现异常点将按CAR的过程进行分析整改。
输出:PPM、原因分析报告
二、量化项目管理知识
1、目的
建立本过程的目的是为了达到项目已定义的质量和过程性能目标,定量管理项目的已定义过程。
2、角色和职责
3、入口准则
客户要求/需求已经明确或确认
组织质量和过程性能目标已经建立
组织度量库和其他项目的历史资料可用
组织标准过程及其裁剪指南可用
组织过程性能基线和模型可用
4、输入
客户要求
组织质量和过程性能目标
组织度量库和其他项目的历史资料。
组织标准过程及其裁剪指南
组织过程性能基线和模型
5、项目量化管理过程图
6、过程活动
6.1、建立项目目标
建立和维护项目QPPO。项目经理在项目立项后,需要首先建立项目QPPO。
1) 评审组织级QPPO
评审组织的QPPO,以便项目经理理解组织的过程性能目标(项目的QPPO可以参考组织的QPPO制定,至少要满足客户的目标)。
2) 识别干系人需要
通过客户需求调研,标识客户、最终用户和其他项目干系人的质量和过程性能需要,并划分优先级。如果客户没有明确提出过程性能要求,则可以直接参考组织级的QPPO,如果客户有定性的过程性能要求,则需要项目经理和客户协商,把定性的客户要求尽量量化,并识别如何度量客户要求的过程性能。
3) 确定项目总体QPPO
综合组织的QPPO和客户的要求,确定项目总体的QPPO。
当客户没有提出过程性能要求时,项目的总体QPPO、子过程QPPO根据组织的总体QPPO、子过程QPPO建立。
当客户提出了明确的性能要求时,项目首先要比较客户要求和组织的QPPO,如果客户要求等于或低于组织的QPPO,则设置项目的QPPO与组织的QPPO项目;如果客户要求高于组织的QPPO,则项目需要进行过程仿真分析,确定如何配置过程才能达到客户的要求,如果过程仿真分析结果能够达到客户要求,则根据客户要求设置项目QPPO,否则改进过程或者和客户协商降低客户要求。
4) 评审项目总体QPPO
文档化可度量的项目总体QPPO,项目QPPO的描述必须符合符合SMART原则,并和相关干系人一起评审项目总体的QPPO,获得相关干系人的承诺。
5) 设置中间QPPO
因为组织的PPB、PPM刻画了子过程因素和结果间的预测关系,也刻画了整个生命周期个子过程间的预测关系,因此组织的PPB、PPM可以帮助把总体目标派生出阶段中间目标和子过程目标。把确定的项目总体QPPO按照整体/部分关系进行分解,设置中间阶段QPPO,按照PPM的因果关系把项目总体QPPO向下分解到子过程,设定子过程的QPPO。
6) 识别风险
设置好项目的中间目标和最终目标后,从组织过程资产库中选择过程配置项目的PDP,利用组织的的PPB和PPM预测达到项目的质量和过程性能目标的概率。在立项阶段,如果概率低于65%,则表示存在一定的风险,必须采取风险缓解措施;其他阶段随着项目的进展,达成概率逐渐提高,如概率低于上一阶段模拟的值时,需要做原因分析;组织要求再需求确认之后,概率需要达到80%以上,如果概率达到要求值,则表示项目配置的PDP基本上能够达到目标。
7) 解决目标冲突
如果项目有多个目标,例如:质量的目标、工作量的目标、进度的目标等。经过项目PDP预测分析目标之间可能存在冲突关系,即达到某一个目标的前提下,就必须牺牲另一个目标。此时,需要和干系人协商,设定目标的优先级,甚至重新调整目标;以保证所有目标都能达到。
8) 最终建立、跟踪目标
最终建立目标,并跟踪目标来源。文档化所有目标,并跟踪目标的来源。
9) 更新QPPO
如遇到特殊情况,需要修订质量和过程质量性能目标,如:
a. 组织的QPPO变更
b. 客户要求变更
c. 项目执行过程中监控到当前的过程性能离目标差距很大,经过分析后,人为没有纠正措施能够达到目标
上面任何一种情况发生,都需要和干系人协商,重新设定项目的QPPO,重新配置项目PDP。
6.2、组成已定义过程
使用统计技术和其他定量分析技术组成项目已定义过程,以使项目能够达到项目的质量和过程性能目标。
组成项目已定义过程,也叫做项目PDP过程,从组织过程资产库中选取子过程,经过过程仿真分析,配置成覆盖整个项目生命周期的项目PDP,并预测项目PDP是否能够达到项目的QPPO。
经过如上活动,输出《量化项目过程和指标》
1) 建立评价准则
当在过程资产库中选择过程配置项目PDP时,需要考虑如下准则:
1. 候选过程是否对达到QPPO有帮助;
2. 候选过程的过程性能数据以及相关数据是否可用;
3. 候选过程是否存在过程性能模型;
4. 候选过程是否适合项目的生命周期模型。
2) 识别并评价候选
利用水晶球的仿真功能为项目配置过程。
项目从组织过程库中选择覆盖整个生命周期的子过程。有些子过程存在候选的子过程,有些子过程没有候选的子过程;项目需要把覆盖整个生命周期的子过程挑选出来,然后构建项目的过程仿真模型。构建过程仿真模型需要使用组织度量库中的历史的过程属性度量数据、PPBs、PPMs。并运用蒙特卡罗仿真技术进行优化,分析选择不同的过程配置会得到什么样的结果,然后比较那种情况最能满足项目的QPPO。如果所有的过程配置结果都不能满足项目的QPPO,则说明当前的组织过程性能不足,需要改进过程、或引入新工具、新方法,实施组织过程革新;或者和客户协商,降低项目的QPPO,以使当前的过程性能能够达到。
3) 评估风险
分析项目过程蒙特卡罗模型的仿真结果,评价能够达到项目QPPO的概率及不能达到项目QPPO的风险。
4) 评审项目PDP
文档化项目PDP,并和项目干系人评审项目PDP,获得项目干系人的承诺。
5) 跟踪、调整PDP
项目执行过程中,收集子过程的实际数据,监控子过程实际数据是否满足子过程QPPO,如果不能满足,则需要分析原因,调整PDP;在项目过程中把实际数据更新到项目PDP预测模型中,并预测项目的性能是否能够满足项目的目标,如果不能满足,则需要分析原因,调整PDP。
6.3、选择子过程和属性
为了到达项目的质量和过程性能目标,需要选择要进行过程性能分析的过程/子过程,因此首先要建立选择准则,一条最基本的原则是过程/子过程必须能够跟踪到项目的质量和过程性能目标,过程/子过程的性能对达到项目的质量和过程性能目标起到了关键作用。
1) 建立子过程性能目标
把项目的QPPO按照因果关系分解到子过程的QPPO,子过程QPPO的表现形式为(均值、上下限)。
2) 选择子过程
1. 进行子过程性能分析,比较子过程PPB和子过程QPPO,选择关键子过程
在组织级度量库中已经收集了大量的过程和产品度量数据,针对每个子过程的度量数据,对子过程的质量和过程性能进行分析,分析的步骤参见《OPP过程》。如果子过程PPB不能满足子过程QPPO,则表明该过程对组织的QPPO的达成有消极的影响,需要进行改进以达到子过程的QPPO,且被选择为对QPPO有重大影响的关键子过程,在过程执行中进行监控(监控过程是否稳定、监控过程的实际性能);如果子过程PPB能够满足子过程QPPO,则表明该子过程对组织的QPPO的达成有积极的影响,在过程执行中应该保持其稳定,因此也需要被选择为关键子过程,需要在过程执行中进行监控(监控过程是否有异常情况发生、监控过程的实际性能)。
2. 建立过程仿真模型,建立关键子过程和项目QPPO的预测关系
经过多年的积累,组织过程资产库中已经具备了覆盖完整项目生命周期的过程/子过程/经过裁剪的过程,根据覆盖整个项目生命周期的过程集构建过程仿真模型(蒙特卡罗仿真模型)。目前组织的生命周期模型以瀑布模型为主,整个生命周期从需求分析开始,到交付验收结束。有些子过程有候选,有些子过程没有候选,所有子过程已经实现了模块化(子过程的质量和过程性能基线已经建立),因此项目可以从过程库中选择模块化的子过程配置全生命周期过程,然后运用蒙特卡罗仿真预测进行过程优选,选择最能够满足项目QPPO的子过程组成项目的PDP。
3. 根据子过程分析的结果、过程仿真模型的分析结果,文档化需要过程性能分析的子过程,以及选择的理由。
3) 选择子过程属性度量
选择能够很好的洞察项目的质量和过程性能的子过程属性度量。
过程性能分析是以过程属性度量为基础的,因为在组织级度量中已经收集了大量的过程属性度量数据,包括:
1. 工作量
2. 工期
3. 移除缺陷密度
4. 规模
5. 人员领域经验
根据项目的子过程QPPO来确定需要哪些过程属性度量来度量目标,例如:如果目标为遗留的缺陷密度,那么就需要收集各相关子过程产出物的BUG数量、规模等数据;如果目标为工作量方面,那就需要收集各子过程的工作量数据。确定过程属性度量的同时,还要确定确保如下几条基本原则:
1. 度量组合能够覆盖产品整个生命周期
2. 度量能够刻画过程性能
3. 有足够的过程执行频率,能够收集足够的度量样本点
4. 度量是可控的,能够通过控制度量来控制过程/子过程的性能变更
5. 建立了可操作性的度量定义
当确定好了需要哪些过程属性度量时,检查度量库中的过程属性度量是否足够,并从中选择合适的属性度量。如果缺少某些属性度量,则需要重新建立该属性度量的定义,并收集相应的度量数据。
6.4、选择度量分析技术
选择将在定量管理中使用的度量和分析技术,度量和分析技术举例:
统计技术:统计过程控制SPC、回归分析、方差分析、时间序列分析等。
图形技术:散点图、柱状图、箱线图、运行图、因果图、控制图等。
根据子过程QPPO、子过程属性度量确定该子过程需要选用哪种度量和分析技术。一般来说,监控子过程的稳定性和过程性能需要选用SPC技术;建立子过程PPB,需要选用箱线图、控制图、方差分析等技术;建立子过程间关系需要选用散点图、回归分析技术、方差分析技术等;分析性能不足的原因时需要选用因果图、控制图、运行图、方差分析、回归分析等技术。
6.5、监控被选择子过程性能
使用统计技术和其它定量分析技术监控被选择的子过程性能,监控子过程性能的结果记录在《量化项目管理表》中。
监控被选择子过程的性能步骤:
(1) 收集数据
随着被选择的子过程的执行,按照子过程属性度量定义,收集数据,并及时验证数据的准确性和一致性。
(2) 监控过程波动
使用控制图监控被选择的子过程的波动情况和稳定性,并且解决不足。当收集了实际的过程数据后,监控实际过程数据是否稳定。如果当前项目的过程数据量较少时,则和历史的过程数据一起进行分析,运用控制图的判异原则(请参见OPP过程文件中的控制图判异原则),判断当前过程是否稳定,如果稳定则继续执行过程,收集数据;如果出现异常点,则需要分析导致异常的根本原因,并采取纠正措施,具体请见6.1.7节。如果当前项目的过程数据量较多时,一般要多于5条,则需要分析该组数据,看数据趋势是否稳定,如果稳定则建立项目特有的PPB,如果有异常点,则需要分析导致异常的根本原因,并采取纠正措施,具体请见6.1.7节。
(3) 监控过程能力
使用过程能力分析技术监控被选择的子过程的能力和性能,并且解决不足。当收集的实际的过程数据经过分析时稳定的,则需要监控实际过程的性能。如果当前项目的过程数据量较少时,则和历史的PPB进行比较,判断实际过程数据是否在上下限内,如果在上下限内则继续执行过程,收集数据;如果超出了上下限,则判断为异常点,需要分析导致异常的根本原因,并采取纠正措施,具体请见6.1.7节。如果当前项目的过程数据量较多时,一般要多于5条,并且分析后该组数据也是稳定的,则需要建立项目特有的PPB,并和设定的过程QPPO进行比较,分析过程能力。并把当前项目过程PPB代入项目过程仿真模型进行预测,重新评价达到项目总体目标的风险;如果风险概率低于90%,则需要分析过程能力不足的根本原因,并采取纠正措施,具体请见6.1.7节。如果风险概率高于90%,则认为当前过程能力是充足的,继续执行过程。
监控过程能力的方法:
1)比较实际的能力和QPPO之前,先确保子过程性能是稳定的
2)使用过程能力分析技术比较实际的过程能力和QPPO,利用minitab的质量性能分析功能计算短期性能指标Cp、Cpk,长期性能指标Pp、Ppk:
当Cp、Cpk、Pp、Ppk>=1.33时表明过程能力充足
当Cp、Cpk、Pp、Ppk>=1时,表明过程能力尚可
当Cp、Cpk、Pp、Ppk<1时,表明过程能力不足
3)当过程能力分析指标表明过程能力不足时,只能证明当前过程能力没有落在目标范围之内,因此还需要判断过程能力是落在目标之上,还是目标之下。通过观察数据,确定过程能力较之目标是提高了还是降低了,以此综合判断是否需要采取纠正措施。
6.6、管理项目性能
使用统计技术和其它定量分析技术管理项目,以确定是否项目的质量和过程性能目标将被满足,执行管理项目性能活动的结果记录在《项目量化项目管理表》中。
1)监控子过程目标和中间目标
分析子过程性能监控结果,监控项目的中间目标是否满足。
2)预测项目总体目标
使用项目过程的实际数据,代入项目过程仿真模型,重新评价达到项目总体目标的风险;如果风险概率低于90%,则需要分析过程能力不足的根本原因,并采取纠正措施. 如果风险概率高于90%,则认为当前过程能力是充足的,项目进展良好,不需要采取纠正行动,可以继续执行过程。
6.7、执行根本原因分析
对被选择的问题执行根本原因分析,以解决在达到项目的质量和过程性能目标方面的能力欠缺。
根本原因分析的过程和结果记录在《项目定量项目管理报告》中
要解决的问题包括:
1)子过程稳定性和能力不足
2)项目性能相对于目标的不足
分析根本原因的步骤:
1)分析不足的根本原因:针对过程性能不足,执行根本原因分析,找到性能不足的根本原因
采用定性和定量的方法分析根本原因:首先利用因果图分析,排除一些非关键因子,找到一些关键的引起不足的过程因子,然后依靠对项目的过程仿真模型的分析,利用过程PPM、PPB进行定量的分析,找到造成不足的根本原因。
2)制定纠正行动:通过定性与定量分析得出的结果,在项目中进行识别和分析潜在纠正行动
3)预测纠正行动效果:使用过程仿真模型预测纠正行动对项目性能目标的影响,评价潜在的纠正行动。
4)执行纠正行动:执行选择的纠正行动
5)评价纠正行动:
评价纠正行动对子过程性能的影响,通过方差分析评价采取纠正行动后从统计意义上是否改进了过程性能,通过箱线图分析纠正行动的实际效果。
7、输出
《项目QPPO》
《量化项目过程和指标》
《量化项目管理表》
根本原因分析和改进表(统计控制)
根本原因分析和改进表(典型问题)
8、需要的资源
Mintitab统计分析工具
Crystalball水晶球预测工具
9、需要的知识和技能
统计和概率论知识
PPM和PPB的建立和应用
Minitab的使用技能