邵晓亮,盛步云,汪星刚,柴忠民,姚 璐
(1.武汉理工大学 机电工程学院,湖北 武汉430070;2.武汉征原电气有限公司,湖北 武汉430070)
随着科技的不断发展进步,现代项目的规模越来越大,涉及到的专业也愈加广泛与多样,其内部关系也愈加错综复杂,所要调动的资源数量与种类相对以往也更加巨大和繁杂。然而,在纷繁复杂的自然环境与社会环境中,项目执行的过程中受到许多内在与外在因素的影响和制约,使项目常常无法遵循预定的项目进度计划,实现既定的目标,从而导致整个工期的延迟,资源的浪费,影响整个项目的质量与安全。因此项目在实施过程中,面对各种风险影响,对其发展趋势进行预判和警示,建立预警机制,是确保项目遵循既定的进度计划轨迹,按时保质完成的一个重要方法。
当前,国内外在项目进度风险预警机制方面进行了比较广泛的研究,取得了丰硕的成果。周津慧等[1]在软件开发过程中运用挣值法作为理论基础,利用费用偏差、进度偏差两个差异分析变量指标和成本偏差率、进度偏差两个指标变量,实现了对软件项目成本和进度的监控。陈建国等[2]引入设计结构矩阵(DSM)来描述工作依赖关系和信息传递过程,构建了进度计划与动态优化模型,实现进度管理的动态性。裴小兵等[3]在产品开发过程中,利用进度信息与原计划的偏差,实现进度控制。崔晓明等[4]引入工业项目进度控制方法即实际进度前锋线法,综合了网络计划技术、关键链法等进度控制方法与技术,提出了一个高效便捷的进度控制系统设计方案。陈东方等[5]提出了进度风险预警的一般流程,利用综合指标法,选取工期进度和投资进度两个指标建立工程进度风险预警模型,并将其作为进度跟踪控制的一种预警工具。赵明光等[6]提出了一种企业联盟中各级盟员生产进度的计算方法,用进度曲线的形式来获取盟员的进度信息,并提出了以任务实施计划图、进度计算、进度汇报和进度监控为主流程的进度监控策略,能够直接反映出多级子项目的动态进度和盟员生产资源的变化状况。张俊光等[7]利用过程控制的原理,提出依据重大偏差标准和风险储备时间对软件项目全过程进行动态控制,实现对软件项目进度的估计与监控。
但是多数研究在进度风险预警监控方面,通常都是从整个项目宏观出发,或是着眼于各个任务完成状况的微观角度。如果从整个项目进行预警,经常会出现预警不准确、项目进度反馈滞后等状况,影响项目经理对项目的掌控。而从微观角度预警,虽然每个任务的执行状况、完成进度反馈都比较准确,但是对整个项目的进度状况却常常无法准确反应,影响整个项目进度风险的预警监控。虽然胡杨博等[8]曾提出过多层次的进度风险预警,但其对各个级别的划分不太明确,同时在进度分析上偏重于进度反馈监测,对预警方面分析相对薄弱。因此,笔者就此问题深入地进行研究,找出一个解决方案。
项目进度管理的关键是项目进度风险的预警,即实现实时监控项目的进度,定期将实际进度和项目计划进度进行比较分析,及时对出现的偏差做出纠正[9-10]。
项目在执行前,通过任务分解,通常可以将一个复杂的项目分成许多子项目和任务,并将任务指派给项目团队中的各个人员来完成。因此一个项目通常是由若干个子项目及这些子项目细分出的若干个任务构成。而这些子项目和任务就组成了一个结构严密的多层网络结构模型。
项目被分成多级,各级都有相关的负责人员。项目由项目负责人负责,子项目由节点负责人负责,任务由任务执行人负责。在项目实施过程中,各级负责人最优先关注的是自己所负责任务的完成情况,根据出现的状况采取合理的弥补措施。因此,项目预警需要根据项目的层次来进行分级预警,以方便相关人员了解自己所负责工作的情况,准确把握工作进度,同时又可以排除一些无关信息的干扰。
因此,笔者提出了一个多级项目进度风险预警机制,如图1 所示,从项目级别、节点级别及任务级别3 个方面对项目进度进行分级监控与预警,满足不同级别人员的需求,为各级负责人作出下一步决策提供准确的信息支持[11]。
图1 项目进度风险预警框架
造成项目进度延误的因素有许多,这些因素对项目进度的影响最终反映在实际进度与计划进度的偏差上。因此,项目进度风险的预警关键在于对项目进度偏差分析及项目缓冲时间消耗的计算。
任务级别的进度监控预警流程如图2 所示,通过定期对任务实际进度进行监控收集,分析进度偏差状况。如果进度偏差不大,延期状况不太严重,则对任务执行人反馈一个提醒信息,让其加快工作效率,追赶任务进度,及时纠正偏差状况;若偏差太大,剩余时间无法完成后续工作,则让上一级负责人进行处理。
图2 任务级别的进度风险的监控预警流程
节点级别与项目级别的进度风险的监控预警流程,通过分析子级消耗父级预留的缓冲时间的比例及父级进度的偏差状况,预测其对父级进度的影响及发展趋势,判断父级的进度延迟程度,从而给父级提供预警信息,如图3 所示。
图3 节点级别与项目级别的进度风险预警流程
2.2.1 任务级别进度风险预警模型
任务是项目细分后最基本的工作单元,一个项目最终是由许多个任务组成的。因此,项目总的工期是由这许许多多任务的工期与预留的缓冲时间构成的。该任务级别的进度风险预警主要是从工期的进度偏差入手。
首先在某个计划工时为TR的任务时间区间内,根据任务的特点设定n个监测点,用来实时监测各点上任务完成状况。在某监测点上的计划任务进度公式为:
式中,TRi为在第i个监测点的任务计划完成工时。
在该监测点上的实际任务进度公式为:
式中,T'Ri为在第i个监测点的任务实际完成工时。
则在该监测点上的进度偏差为:
进度偏差d反映了任务在i监测点上实际任务进度与计划任务进度之间的偏差,因此设定一个警戒阈值ds。当d≥0 时,说明任务进度正常,任务进展顺利。当ds<d<0 时,说明任务进度出现延迟,可能会造成任务无法完成,需要提高效率,追赶进度。当d≤ds时,则说明任务进度严重延误,已无法按时完成任务[12]。
2.2.2 节点级别进度风险预警模型
节点级别主要是对其所属的所有下级任务的进度进行整体监控预警。由于其下属各个任务的进展状况各不相同,如果只通过监控节点的进度偏差来进行预警,往往会出现下属个别任务虽然有出现严重延期现象,造成整个节点已无法保证按时完工,但是由于其他任务的进度提前,在节点总进度中抵消了延期任务带来的影响,从而出现节点进度反映为与计划进度一致,甚至有提前的情况,无法实现节点进度的预警功能。因此,将节点各个并行任务的进度偏差量对缓冲时间的消耗与该节点的进度偏差结合起来作为节点进度风险预警的综合指标相对更科学合理。
某个节点在第i个监测点上的进度偏差为:
式中:TD为该节点的总计划工时;为第i个监测点的节点实际完成工时;TDi在第i个监测点的节点计划完成工时。
在该监测点节点下某个任务的进度偏差为:
式中:为第j个任务监测到的实际工时;TRj为第j个任务的计划进度。
该任务的缓冲时间消耗率为:
式中,PB为该节点提供的缓冲量。
对于拥有m个任务的某节点,其缓冲时间的消耗率为:
其中,αj为该节点中各个并行任务的缓冲时间消耗率。因各个任务对节点预留的缓冲时间的消耗并不会相互影响,故在所有任务的缓冲时间消耗率中选出最大值,该最大值能客观反映节点对预留的缓冲时间的消耗量[13-14]。
该节点的综合预警指标为:
式中,x1和x2分别为e和α 的权重。
根据以往经验,预先对m设定预警阈值mA和mB。通过分析m值并与预警阈值进行比较,实现对节点进度风险的监控预警。当m≥mA时,说明该节点中的任务都按计划进度完成,没有出现延误状况。当mA>m>mB时,说明该节点的进度出现一定程度的延误,情况还处在可控范围内,但应给予提醒避免情况持续恶化。当m≤mB时,说明该节点中的进度已经严重延期,过度消耗缓冲时间,已经无法按时完成任务。
2.2.3 项目级别进度风险预警模型
从项目的层次结构中,可以发现节点级别由多个并行下级任务组成,而项目由多个并行下级节点组成。因此项目级别的进度监控预警和节点级别的进度监控预警是类似的。通过监测项目各个节点的项目预留缓冲时间的消耗及项目的进度偏差情况,可实现对项目整体进度的监控预警,其数学模型可借鉴节点级别进度风险预警模型。
某个项目在第i个监测点上的进度偏差为:
式中:TL为该项目的总计划工时;T'Li为第i个监测点的项目实际完成工时;TLi为第i个监测点的项目计划完成工时。
在该监测点项目下某个节点的进度偏差为:
式中:T'Dk为第k个节点监测到的实际工时;TDk为第k个节点的计划进度。
该节点的缓冲时间消耗率为:
式中,PB为该项目提供的缓冲量。
对于拥有m个节点的某项目,其缓冲时间的消耗率为:
该项目的综合预警指标为:
式中,y1和y2分别为γ 和β 的权重。
因此,综合预警指标η 能够从整体上比较客观地预测项目进度是否出现延迟,或无法完成的可能性。通过对η 设定预警阈值,可实现对整个项目进度风险的监控预警。
通过建立的多级项目进度风险预警模型,比较各级别预警的预警值和相关阈值,可以将各级进度的警情划分为3 个等级,分别用绿色、黄色和红色3 种预警信号表示,如表1 所示。
表1 预警等级、警况描述和预警信号的对应关系
根据不同的进度风险预警信号,各级预警级别对项目各级负责人进行预警提醒,让负责人及时有效地对进度进行控制。
(1)根据进度风险预警模型,当任务、节点或项目级别的预警值在正常水平时,预警信号为绿色,表示在该状态下,工作进展顺利,不需要做出调整。
(2)当预警值在轻度的状况时,预警信号设置为黄色,表示在这个状态下,工作进度已经出现延误问题,情况还在可以控制范围中,但是需采取一定措施,同时应加强进度风险监控。
(3)当预警值处在严重状态时,预警信号设置为红色,表示工作进度出现严重延误,不能按计划完成工作,需要将问题反映给上级进行处理。
因此,对于多级项目进度风险预警模型,可以从项目、节点及任务3 个方面建立一个交互联系的系统。下一级的预警单位可将进度信息反馈给上一级单位进行监控管理,同时上一级的预警单位可将预警信息向下进行追溯,从下级单位中找到影响进度的症结点。从而对项目进度实现系统的、全面的监控预警,为企业提供多层次的进度信息。
针对某铁路电气设备公司在项目进度管理方面存在的问题和实际需求,根据上述多级项目进度风险预警机制,开发了一个以多级项目进度风险预警为核心的项目管理系统。通过系统其他模块反馈的进度信息,在预警模块中进行汇总分析,实现对项目进度的全面、实时监控预警。
对于任务级别预警,根据任务负责人进行搜索,获取该负责人所有的参与任务的进度情况。如图4 所示,从中可以获取任务的完成情况、剩余时间、超出时间、预警信号等。任务负责人可以清楚地了解到自己负责的任务哪些进度正常、哪些出现延迟、哪些无法按时完成,从而使任务负责人做出及时合理的调整。
图4 任务进度风险预警界面
对于节点级别预警,可以根据项目名称和负责人来进行搜索,获取相应的节点进度信息。如图5 所示,根据反馈的节点进度信息,系统会对照生成相应的预警信息。如节点电动机试制在预定的工期过了大半,只完成了41%的任务,在剩余的时间基本无法完成剩余的工作,因此预警信号为红色。如果要了解节点无法完成的原因,点击查看,可以查看该节点下所有任务的完成状况,了解是哪个任务出现问题导致的。
图5 节点进度风险预警界面
对于项目级别预警,项目负责人可以实时查看负责项目的进度情况,如图6 所示。若出现延迟或无法按时完成,则可以通过查看详情,来了解是在哪个节点出现问题,从而做出相应的措施来调整项目进度。
该系统在实施过程中,较出色地完成了对项目进度风险的监控和预警,提高了各级负责人对所负责任务进度的掌控,降低了项目延期的风险。
图6 项目进度风险预警界面
笔者根据项目层次结构,对项目进度延误从任务、节点及项目3 个级别进行监控预防,并且根据各级别进度延误的特点,确立了比较准确的预警指标,从而建立了一套科学的多级进度风险预警机制。该预警机制不仅可以从节点级别和项目级别对项目的进展在宏观方面进行监控,同时也可以从任务级别对具体任务的完成情况进行微观的掌控,方便各级负责人对自己负责部分进度信息的把握。因此,规避了单从宏观角度或微观角度进行进度监控预警的弊端与不足之处。
该预警机制在实际应用中,对项目进度风险的预警表现比一般的预警系统更加准确,同时在操作使用及信息反馈上显得更人性化。因此,对企业控制项目进度具有重要意义。
[1] 周津慧,易海峰.挣值法在软件项目成本和进度监控中的应用[J]. 系统工程与电子技术,2006,28(4):607 -610.
[2] 陈建国,刘德银.DSM 在复杂工程前期进度计划管理中的应用研究:以上海浦东国际机场商飞配套工程为例[J].工程管理学报,2012,26(3):56-60.
[3] 裴小兵,朱永杰,欧阳丹丹.基于新产品开发过程中的进度控制研究[J].科技管理研究,2013(9):212-216.
[4] 崔晓明,马力.软件项目进度控制方法研究[J]. 计算机工程与设计,2010,31(12):2754 -2761.
[5] 陈东方,陈建国.建设工程进度预警及其模型构建的研究与应用[J].工程管理学报,2010,24(3):318-322.
[6] 赵明光,易红. 网络化制造环境下企业联盟的项目进度监控策略研究[J]. 中国机械工程,2006,17(14):1480 -1483.
[7] 张俊光,杨芳芳.基于重大偏差标准的软件项目进度管理方法[J].北京邮电大学学报,2012,35(4):9-12.
[8] 胡杨博,莫蓉.基于工作分解结构复杂多级项目的进度监控技术研究[J].现代制造工程,2008(2):16-19.
[9] 车谦. 基于BIM 的施工项目进度风险预警研究[D].哈尔滨:哈尔滨工业大学,2013.
[10] 童杏娟. 基于PERT 的关键链进度编制及缓冲预警机制研究[D].大连:大连理工大学,2010.
[11] 杜百岗,郭顺生.基于BOM 的项目看板进度预警模型研究[J].武汉理工大学学报(信息与管理工程版),2009,35(4):570 -574.
[12] 吴昊,张新营.项目进度延误预警模型研究[J].装备制造技术,2009(3):104 -106.
[13] 李钊. 海洋工程装备项目进度监控模式及预警DSS 总体设计[D]. 哈尔滨:哈尔滨工程大学,2011.
[14] 陈洁.基于PDM 系统装备制造企业的研发项目进度管理研究[D].北京:北京邮电大学,2010.