风险管理中有个很重要的就是对风险的定量分析,而常用的方法就是蒙特卡洛模拟的方法进行。为了加深这种方法的印象,特假设一个案例进行模拟。bbs.mypm.net
假设一个新项目开始,估算的功能点数为1000个功能点,假设人均的功能点生产率为20个功能点/天。建设进度和工作量完全成正比,考虑到进度计划中的关键资源和关键路径相关约束。工作量余量取10%,这样我们大概可以计算从:www.mypm.net
总工作量 = 1000/20 = 50×1.1 = 56 人天的工作量。项目管理者联盟
假设项目一共有3个项目成员来完成,大概工期为 20 天即,一个月。项目管理培训
现在项目有两个风险,根据以往项目或历史类似项目的收集经验数据,在整个项目的进行过程总,需求的规模经常发生变化,但一般变化范围都在20%以内,具体的分布图如下:(如图表示在100个样本中需求规模为原规模1.1倍的有25个样本)项目管理者联盟
项目管理者联盟
另外一个风险是项目中有一个编码成员是新手,前面已经经过一段时间学习,现在你无法确定该成员到了第三周编码阶段后该成员生产效率是否达到要求,根据历史经验数据和对比项目样本,得到如下数据(如图表示在100个样本中能够达到正常效率0.7倍的有40个样本)blog.mypm.net
pmp.mypm.net
由于现在规模和工作量都存在着风险和不确定性,要在一个月完成项目基本是不可能的任务。现在你想达到有8成把握能够完成任务,那究竟工期应该多长,或向老板多要多少时间呢?
在这个时候就需要对规模和生产率两个数据同时进行模拟,以模拟出相关的工作量数据,这里我们就需要分别对规模和生产率生产相关的随机数,而这两个指标的随机数的生成应该基于历史的经验数据和样本,而不能用标准连续的随机数来生成。项目管理者联盟
这里在Excel和SPSS中都可以生产相关的随机数,如在SPSS中生成相关的数据脚本为:项目管理者联盟
input program.项目管理者联盟
loop #I=1 to 100.
compute x=uniform(1).service.mypm.net
end case.项目管理者联盟
End loop.项目管理者联盟
End file.项目管理者联盟
End input program.项目管理者联盟
ex ecute.项目管理者联盟
rank variables=x(a)/rank/print=yes/ties=mean.项目管理者联盟
recode rx(98thru 100=1.25) into group.项目管理培训
recode rx(91thru 97=1.2) into group.
recode rx(81thru 90=1.15) into group.项目管理者联盟
recode rx(61thru 80=1.1) into group.项目管理者联盟
recode rx(36thru 60=1.05) into group.项目经理圈子
本文为项目管理者联盟联盟会员原创文章,授权发布,非经同意不得转载!
|