用Project做大修排程的简单思路历程

引言

在化工厂,大修工作至关重要,一个成功的大修项目,能够显著提升设备运行效率,延长其使用寿命,更重要的是,能够极大地降低生产过程中的停产风险、安全风险。

而大修项目又是一项庞大而复杂的工程,需要在有限的工期、借助有限的资源,完成全部的设备的检修、维护、更新等计划任务。

大修工作项目多,时间紧,任务重,这就要求我们精确地规划每一项任务,还要在整个过程中密切监控资源分配和进度安排,所以,借助一个好的工具,如Microsoft Project来做项目管理是非常必要的。

Project是干什么的?

早期我们做大修管理的时候,往往借助一个Word文档或EXCEL表格,纵坐标列出项目任务,以时间为横坐标,拉个箭头来绘制进度控制信息,其实这就是最简单,最原始的甘特图了。

用这样的表格来看一下大致的进度信息是可以的,但是,存在的以下问题,用这个表格如何回答?

  • 这些任务分别由哪些资源来完成?

  • 这些资源在大修工期内是连续作业吗,或者是分段作业?你招标的承包商、临时工干3天,停5天,再干3天他们愿意吗?如何来优化?

  • 这些任务之间的关系如何表达和规划?比如当一个任务需要在另一个任务完成后开始时(当然,这里面还包括同步开始,同步完成等),如何表达?

  • 如何来查看你的某一个资源是否超时工作,是否存在某一资源需要在同一时间段完成多项任务的情况,同一时间根本做不过来怎么办?

  • 对某一特定任务,增加一倍的资源,可以缩短一半的工期吗?

  • 所有任务都是同样的工作时间吗?一些任务需要增加每天的工作时长该如何表达和处理?

    ……

以上一系列的问题,才是我们实实在在需要关注的问题,也是我们使用Microsoft Project软件的目的,如果只是用一个表格列出多久到多久要完成哪项任务,用这样的进度计划来落实工作,其实就是耍流氓,就像郑重其事的说:“25天完成检修任务,不出一起安全、环保、质量事故,检修后,装置性能明显提升”一样,那是大领导的口号,不是落到实处的东西。

Project排程的第一步该怎么做?

我们知道了对于大修项目管理,使用Microsoft Project这个软件来辅助是很好的,于是,我们有些开始有样学样,把EXCEL表格里面的那些计划再复制到Project中,这样就完成了“升级版”的大修排程。其实,这也是属于没有入了门,只学了个形。

当然,笔者对于使用Microsoft Project来做大修管理上,也只是初级选手,写点儿零散的东西,能给你带来哪怕是一丁点儿的启示就好。

笔者认为,学习一个东西,先学习它的基本逻辑,学习使用Project也是一样,使用Project的第一步,应该是设置项目的基础信息,就像你打开CAD画图的时候,应该先设置单位(units),图形界限(limits)等,而不是上来就开始画。在老版本的project 07中,可以开启一个叫“项目向导”的东西,提示你一步一步应该怎么做。在后续版本的Project中,项目向导被取消了,但是基本的逻辑是没有变化的,只是新版本的project中,你需要单独找出来设置,没有了向导的一步步指引。

项目向导中,第一步、第二步是“定义项目”和“定义常规工作时间”:

新版本的project中,“文件”->“选项”下,“project选项”中可以设置大量基本信息,对于化工厂大修项目,在“Project选项”中,我个人的偏好是“手动计划”、“固定工期”、不启用“投入导向比”。

“手动计划”的好处是:当我在任务资源中为每个任务分配负责人后,我可以筛选资源,将该负责人负责的任务全部选中,点击“链接选定的任务”即可使该负责人按一条主线的顺序完成其任务列表。

“固定工期”的好处是:对于我们的各个任务,我们通常是分解的比较细致的,一般细致到4-8小时完成一项任务。由一个专业工程师带领几个承包商完成,工期是固定的,与投入的资源数量无关,绝大多数项目一般不因投入资源数增加而自动变更工期,所以,我一般也不框选“新任务为投入导向比”这项。

“项目”->“更改工作时间”中,可以新建和设置工作日历:

“项目”->“项目信息”中,可以设置项目开始时间,排程方法,日历等:

给任务排程是怎样的思路?

把项目的基本信息设置好了过后,就可以开始列项目,分解任务了。如何将项目分解成WBS任务清单,我这里不详细叙述,根据现场的实际情况和维修模式来定。

比如,我们的工厂比较小,机电仪每个专业2名工程师,常驻承包商6名,大修中的项目主要分为三类,一类是需要厂家技术指导的,一类是完全外包的,一类是由工程师及常驻承包商带领几个临时用工实施的零散任务。任务一般分解到4-8小时即可完成的程度。

任务清单列好后,就是给每个任务定工期,定资源。因为我没有框选“投入导向比”,同时我又是“固定工期”,所以,我在定了工期过后,随时往任务中增加或减少资源,工期不会自动发生变化。

排程时,个人的建议是设置一些里程碑,所谓的里程碑,是一个时刻节点,它的工期是0,是一个瞬时事件。设置里程碑的一个好处是,比如我在序号1中设置了一个“装置停车”的里程碑,我后续所有的每条线的任务都可以以这个里程碑为排程基准,这样,当我们的实际“装置停车”时刻发生变化时,我只需要改动我的“装置停车”时刻,我的所有任务计划自动重新计算,而不会出现日期混乱,需要大量重新排程的情况。

上图中我做了一个示例,装置停车在5月1日,停车2天后停循环水(1FS+2d),任务有3条路径,保温工作是一条线,工程师A带领的队伍是第2条线,工程师B带领的队伍是第3条线,保温的拆除工作,可以在装置停车后即可进行(1FS),板式换热器及泵的维修需要在保温工作拆除,同时隔离置换完成后进行(3,5/3,16),2处保温可以同时拆除(5SS),隔离盲板的恢复需要在泵和换热器均检修完成后恢复(4,15)。

理清以上的基本底层逻辑是排程的关键,然后将这些有特殊要求的项目标注到前置任务列中。

目前,工程师A和B都已经自动计算好了可以开始任务的时间,接下来,我们就可以从“资源名称”中,单独筛选工程A的任务清单,将需要顺序执行的任务选中,“链接”,同时注意将黑色字体的摘要任务设置为“自动计划”。

右侧的甘特图中,我们即可以清晰的看到,工程师A的任务安排就被漂亮的安排好了。

同样,我们筛选工程师B的任务,按同样的方法操作:

剩下保温工的工作,我们发现是可以把他们合并到一起,在所有的检修工作都完成后再做的,是的,我们实际项目排程时就是这样,排的过程就是不断优化的过程。最后安排完成大致是这样的:

如何优化资源分配?

刚才的例子中,中间工程师A及他的承包商空闲了,保温工空闲了,临时工空闲了,怎么办?是的,大修期间,其他地方还有很多任务,中间的空闲时间,可以去安排别的检修任务进来了。或者,我们可以重新排程,让板换维修中,A组B组的人同时作业,一边清洗板片,一边安装密封条,一边回挂板片,把整体检修时间压缩。排程的思路就是不断优化的过程。

对于临时工的使用,我们总共有几个可以使用,每天用了几个?没有使用的怎么办?我们可以调出"资源工作表"来设定可以使用的最大单位,设定完成后,如果超负荷使用,就会有相应的提示。

资源的最大单位设定后,我们可以调出资源图表,查看每个资源每天使用了多少。我们看到,临时工在5月6号这周的周一到周日都有3个临时工没有使用。

对于这种临时用工的需求,今天来5个,明天来15个,后天不需要人,这是极其不负责任的,对我们检修任务的保质保量完成也有非常不利的影响,还是刚才说过的话,需要我们不断的优化,尽可能调整任务顺序穿插,把用工安排得尽可能平均。只有优化得足够完美,你才能了解你的这次检修,到底每天稳定需要多少人才够。

比如,下面是我优化后的一次检修情况,最后要了13个人,有一天需要14个人怎么办?我查看了那天的项目,在某一组中,抽出1个人来问题不大。某些天,要不了13个人怎么办?某些组适当加1个人进去,只要排程时工期、用工是确切的,那些横线下的空白,就是预留的10%-20%的余量,这是合理的,属于少量偏差,带队的工程师可以根据实际情况,适当调整任务顺序。

结语

以上,就是笔者大修排程的简单思路,Project只是一个工具,你的思路和优化过程才是关键。就像做PPT,会做和做得好还隔了十万八千里。

Project的功能还有很多,这里我只分享了排程和资源管理方面的一点儿体会。还有项目任务跟踪、费用管理、报表等。一起沟通学习!