基于Crystal ball 的IT项目进度计划优化仿真分析

(整期优先)网络出版时间:2024-03-18
/ 3

基于Crystal ball 的IT项目进度计划优化仿真分析

宋明亮 张立涛

山东理工大学 255000

摘要:进度管理是项目管理的核心,制定科学合理的进度计划是保障工程项目成功交付的基础。在IT项目实施中,项目经理多采用计划评审技术(PERT)估算各项活动的持续时间,并以此为基础,使用关键路径法(CPM)制定初步的进度计划。考虑到估算IT项目活动持续时间时存在工序时间浪费、资源冲突等问题,因此项目经理多使用关键链技术(CCM)对进度计划进行优化。为了验证优化效果,文章基于Oracle Crystal Ball 软件对计划进行蒙特卡洛模拟仿真,验证项目进度计划的可行性。

关键词: Crystal ball 进度计划优化 仿真分析

1  蒙特卡洛仿真与Crystal ball软件介绍

1.1蒙特卡洛仿真

蒙特卡洛仿真模拟是冯.诺伊曼发明的一种用于模拟大量数据的统计方法。在模拟过程中,每次随机选择输入值,在计算机上模拟项目实施成千上万次,最终得出一个累计概率分布图。

运用蒙特卡洛仿真模拟项目进度计划优化前后的活动数据,可以对优化后的项目工期是否能满足项目约束条件进行判断,验证其可行性,为项目经理在项目启动前提供更加可靠的数据支持[1]

1.2 Crystal Ball软件

Crystal Ball是 Oracle 推出的一款蒙特卡洛仿真软件,是一个 Excel 插件,主要功能是帮助用户通过建模来进行预测、随机模拟仿真。相比原始的Excel软件,Crystal Ball插件增加了概率分布和随机模拟两种功能,即Crystal Ball可以生成一个基于概率、量化的Excel模型[2]

使用Crystal Ball对项目进度计划进行蒙特卡洛模拟时,需要在Crystal Ball中录入项目进度相关模型以及总工期计算模型,通过Crystal Ball对各个活动的持续时间进行大规模抽样模拟,辅以项目总工期的计算规则,得出项目总工期的模拟值。一般步骤为[3]

(1)在 Excel 中建立项目执行活动的进度表格。

(2)将假设单元定义为活动持续时间,并选择出合适的分布类型。

(3)将预测单元定义为项目总工期,并设置其计算规则,

(4)设定抽样次数,运行程序,得出项目总工期的区间范围、中间值。

2  运用Crystal ball 对IT项目进度计划优化效果进行仿真分析

2.1 项目介绍

为适应数字化人力资源管理(digital human resource)发展趋势,ZLSD公司立项建设“智慧人资平台”(即智慧人力资源管理平台)项目,新平台将为企业提供智慧决策、智慧运营、智慧服务、智慧支撑四项功能体验,借助大数据分析技术,为下属分公司提供薪酬分析、用工分析等相关功能。

项目由公司自行组织人员开发,开发团队需要在100个工作日内完成项目的交付。根据以往经验,公司自行组织人员开发的IT系统存在着进度管理有效性差、交付延期频发、功能需求变更应对不当、资源 配置与协调不当等问题。“智慧人资平台”项目当前还处于启动前状态,缺乏具体的进度管理举措,为了避免以往信息系统开发时出现的进度管理问题,项目经理需要科学制定该项目的进度计划,并使用对拟定的项目计划中出现的进度问题予以优化,对优化结果进行模拟仿真,进一步验证项目进度计划优化后的有效性和可行性,确保建设进度达到预期。

2.2进度计划编制及优化

2.2.1进度计划编制

项目经理使用传统项目进度管理技术工作分解结构(Work Breakdown Structure,简称“WBS”)、关键路径法(Critical Path Method, 简称“CPM”)、计划评审技术(Program Evaluation and Review Technique, 简称“PERT”)制定ZLSD公司“智慧人资平台”项目进度计划。

(1)项目工作结构分解图

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684234029740.png

图1:项目工作结构分解图

(2)项目活动估算持续时间表

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684236264032.png

图2:项目活动估算持续时间表

(3)项目进度计划网络图

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684235164501.png
图3:项目进度计划网络图

从网络图中可以找出项目持续时间最长的一条路径,即关键路径:B1-B2-B3-C1-C2-D2-D3-D4-E1-E2-E3-E4-E5-E6-E7-E8-F1-F3-F4

这条路径的持续时间为:

T1=3+5.5+2+1.5+11.5+7.5+3+5.5+3+5+10.5+9+19.5+6+5.5+5.5+10.5+10.5+2.5=127天

关键活动总方差之和为:

σ12=0.44+1.36+0.11+0.06+1.84+0.69+0.44+2.25+0.25+1+1.36+2.78+1.36+1+1.36

+1.36+1.36+1.36+0.44=20.82天

由项目约束条件可知,当前关键路径的持续时间远大于项目进度约束条件(在100个工作日内完成项目的交付),难以在要求的时间节点内完成项目。

  2.2.2 进度计划优化

   项目经理使用关键链技术(Critical Chain Method,简称“CCM”)对项目进度计划进行优化,采用插入缓冲区来降低风险,应对不确定性因素,优化步骤依次为:首先是消除项目活动的安全时间;其次是调整项目活动执行顺序;第三是优化项目资源;最后是优化项目资源[4]

项目经理在工期估算时,首先是受到帕金森综合征影响,项目活动增加了冗余安全时间,因此优化时,首先要消除这些安全时间,具体方法是使用乐观时间作为活动的持续时间,后续在链路中设置缓冲区来吸收整个项目可能存在的不确定性[5]。第二是项目经理在估算时间时,主要采用的是串行执行方式,这种方式显然不符合实际。此外,本项目开发活动之间存在依赖条件,即有的活动可以单独开展不受其他活动影响,有的依赖其他活动的信息传递,综合考虑可以使用设计结构矩阵( Design Structure Matrix , DSM )展现项目活动之间的搭接关系,同时对项目活动进行排序优化[6]。第三是消除活动安全时间并调整项目活动顺序后,项目原有的资源分配方式失效,项目瓶颈资源凸显,需要重新进行资源分配以满足项目进度的约束条件。第四是计算和设置缓冲区,在确定了关键链后,优化的思路转变为了计算和设置缓冲区。

(1)优化后的项目活动时间参数(*为关键活动工序)

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684236541668.png

图4:优化后的项目活动时间参数

(2)优化后的项目计划网络图

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684318545118.png

图5:优化后的项目计划网络图

依据时间参数可确定项目的关键链为:

B1-B2-B3-C1-C2-D2-D3-D4-E1-E2-E3-E5-E6-E8-F1-F3-F4,

确定关键链后,需要给关键链加上缓冲,以应对消除安全时间后给工期带来的不确定性影响。考虑到本项目资源约束条件,因此主要设置项目缓冲和汇入缓冲。在关键链路径的末端(每项活动后)设置项目缓冲(PB),在非关键链汇入关键链的位置设置汇入缓冲(FB),如图6所示:

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684318605209.png

图6:项目关键链示意图

考虑到IT项目的不确定性因素较多,本文采用为每个活动引入一个风险系数的缓冲区计算方法[6],风险系数由专家根据以往项目经验论证得出,每个工序的风险系数越大,则为该项工序预留的缓冲尺寸就相应越大。每项活动的缓冲量为期望时间和乐观时间之差,然后乘以风险系数。

计算项目缓冲 PB ,计算汇入缓冲 FB 。

PB

FB=

B为关键链活动集合

C为非关键链活动集合

t为工作任务的期望工期

a为工作任务的乐观时间

K是风险系数

由公式计算各活动缓冲值如图7所示:

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684241407735.png

图7:项目关键链缓冲值计算示意图

根据上文优化后的关键链和缓冲值计算,可以得到优化后的项目进度计划,项目活动执行链路为:

B1-B2-B3-C1-C2-D2-D3-D4-E1-E2-E3-E5-E6-E8-F1-F3-F4

期望工期为T=t+PB=70+22.5=92.5(天)

在使用关键链技术优化后,项目工期为92.5天,能满足在100个工作日内完成项目的交付及试运行的要求。

2.3.3 进度计划优化前后效果比较

将初步制定的项目进度计划和优化后的进度计划进行对比,发现项目执行活动关键路径发生了变动,且项目总工期足足缩短了34.5天,优化结果基本上能满足项目进度上的约束条件,如图8所示。然而,考虑到项目并启动,为了验证优化后的项目进度计划实现的概率,在此需要使用蒙特卡洛模拟法对项目过程进行仿真模拟,以验证优化后的项目进度计划是否具有较高的可信度。

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684280728333.png

图8:进度计划优化前后效果比较图

2.3结果仿真模拟及分析

2.3.1优化前进度计划仿真

使用 PERT 和 CPM 等传统技术制定的初步项目进度计划,项目工期初步估算为127天,含有19个关键活动。在使用Crystal Ball V11版对此进度计划进行总工期模拟时,针对假设单元(活动持续时间)使用了三角分布,将活动持续时间的乐观估计、悲观估计、最可能估计分别对应三角假设中的最小值、最大值、最可能值,项目总工期为初步制定的项目进度计划中的关键路径汇总,设置运行次数为5000次[7],得出总项目总工期模拟分布图及模拟数据,如图9所示。

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684281433414.png

图9:优化前进度计划仿真模拟分布图及模拟数据

从模拟仿真结果可知,优化前的项目总工期范围为110.15天~149.74天,其中最可能的总工期是129.02天,根据工作日取整即为129天。针对优化前项目进度的总工期,比较蒙特卡洛模拟前后的数据,可以得知项目完成总工期基本一致(优化前总工期为127天,模拟仿真后总工期为129天),但是总工期方差差异较大(优化前总工期方差为20.82,模拟仿真后总工期方差为34.04),意味着项目在不同时间完成的概率,存在差异。

2.3.2优化后进度计划仿真

使用关键链技术对项目进度计划进行优化,项目工期初步估算为92.5天,含有17个关键活动。由于此进度计划中,消除安全时间后采用乐观时间估算活动是持续时间,因此区别于优化前的模拟方式,对总工期进行模拟时,针对假设单元(活动持续时间)使用了正态分布假设,将活动持续时间的乐观估计、缓冲值分别对应上正态假设中的平均值、标准偏差,项目总工期为优化后的项目进度计划关键链路径汇总,设置运行次数为5000次,得出总项目总工期模拟分布图及模拟数据,如图10所示。

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684370401773.png

图10:优化后进度计划仿真模拟分布图及模拟数据

从模拟仿真结果可知,优化后的项目总工期范围为49.47天~85.59天,其中最可能的总工期是69.56天,根据工作日取整即为70天。考虑到蒙特卡洛模拟中的假设单元是活动的持续时间,因此在计算项目总工期还要加上 PB (22.5天),即模拟后的项目总工期为92.5天。

针对优化后的项目总工期,比较蒙特卡洛模拟前后的数据,可以得知项目完成总工期基本一致。

2.3.3模拟仿真结果对比分析

经过蒙特卡洛模拟后,对比优化前和优化后的项目工期数据,发现优化后的进度计划在总工期上缩短了34.5天,且基于关键链仿真数据方差更小,表明数据的离散程度更小,数据更加稳定,可信度更高,如图11所示,进一步验证了关键链技术在优化项目总工期上的有效性。

C:\Users\unicom\Documents\WeChat Files\wxid_jxu244f15q2v21\FileStorage\Temp\1684810389080.png

图11:优化前后仿真模拟数据对比图

3 结语

为了进一步验证使用关键链技术优化项目进度计划的效果,文章以ZLSD公司建设“智慧人资平台”为研究对象,使用了蒙特卡洛法( MCM )对项目工期进度计划优化前后的效果进行模拟,借助 Oracle Crystal Ball 软件对项目工期进行了模拟验证和分析,结果显示使用关键链技术优化后的项目工期相比于关键路径等传统方法制定的项目工期大大缩短并具备可行性。并且Crystal Ball 作为Excel的插件,具备操作简单,易学易用的优势,可以为项目经理在项目进度计划制定时提供帮助,在理论研究和实践方面均具有很大潜力。

参考文献:

[1] 方维.基于蒙特卡洛模拟的项目风险管理方法研究 [J].计算机与现代化,2012(4):33-36.

[2] 梁婉清,莫俊文.基于 CrystalBall 的改进 PERT 项目工期分析[J].项目管理技术,2020,18(12):23-27.

[3] 李咏梅,赵正佳.基于蒙特卡洛模拟的 Z 水电项目进度与费用偏差分析动态仿真[J].科学技术创新,2019(07):25-26.

[4] 彭军龙,刘泽鹏.基于关键链法的工程施工进度优化[J].长沙理工大学学报(自然科学版),2020,17(04):62-69.

[5]张俊光.关键链项目动态缓冲管理[M].化学工业出版社,2016,004.

[6]白思俊,万小兵.基于设计结构矩阵的项目进度周期[J].系统工程理论与实践,2008(11):51-54.

[7]李洪庆,陆力,陈光宇.关键链项目管理中的缓冲管理新方法[J].项目管理技术,2009(10):68-72.

    [8]李咏梅,赵正佳.基于蒙特卡洛模拟的 Z 水电项目进度与费用偏差分析动态仿真[J].科学技术创新,2019(07):25-26.

作者简介(第一作者和通讯作者):

宋明亮,男,1985年02月,汉,山东文登,大学本科,助理工程师,工程管理