关键链在软件项目管理中的应用 7 – 实践III

?

这是一系列关键链(CCPM)在软件开发领域的实战性介绍文章,向大家介绍过往10年在关键链之软件项目管理上运用、培训、指导他人的经验教训,并祝你好运。

和你预计的相反,在实施这个章节,在我们准备讨论启动项目时,我们将分析如何先冻结一些项目。

为什么?

温习下F5(聚焦五步)

识别:识别内部哪一个环节是瓶颈;

挖尽:尽可能挖尽瓶颈的产能;

迁就:其他环节迁就瓶颈的工作;

打破:提升瓶颈产能,有效提升整体产能;

回头:继续F5。

我们知道公司内部软件开发工作的瓶颈以后,比方是研发、测试或者需求分析,那么我们首先要做的是什么呢?

挖尽瓶颈的产能,对吧?

如何挖井瓶颈产能呢?

答案是:消除瓶颈的不良多工。

所以如果我们处在多项目环境,为了加快项目的流动性,就应该冻结部分项目。同时,消除不良多工也正是F5中迁就的一种。

那么哪些项目应该被冻结?

01 齐套

齐套是生产管理中的概念,指订单投料需要确认原材料和生产工具的都到位后才开始。

冻结未齐套项目,即准备工作还没有做好的项目。软件开发项目的准备工作是指什么?做为自带独特性的项目,明确界定哪些工作是项目的准备工作是有挑战的,我们只从一般情况下说明项目的准备工作有哪些。

1)、合同未签订。大部分项目的甲方都会对软件公司说,我们这个项目非常紧,合同我们内部还在走流程,你们先安排项目经理把项目做起来吧。然后又给了一个非常紧迫的时间要求。

于是我们就匆匆忙忙的拉起队伍开始开干。且不说在签合同的过程中会不会有变数,光光名不正言不顺这条就够你受的。因为客户没有签约,没有正式的启动后工作安排,项目一开始的配合就不会非常顺利。

只有非常少的情况下需要在合同还没有签订的时候就开始一个项目。

2)、项目范围不明确。在项目范围不明确或有歧义的情况下,不应该启动项目(即便只是在做需求调研),已经启动的项目应该冻结。

一个对外的项目,如果我们与客户还没有考虑好到底希望做一个什么软件、解决一些什么样问题、使用在哪些领域,都应该冻结项目。做为项目准备工作的一部分,先把项目范围搞清楚。

一个内部的项目,如研发一个产品,如果还没有搞清楚这个产品的定位、目标群体、基本的功能,先冻结这个产品开发设计、工作。

只有当我们明确了项目范围后,我们才可以启动项目,去做项目的需求调研与分析。

3)、技术准备未完成。在项目使用的技术路线、系统架构、开发框架还没有确定的情况下,先明确这些问题。一方面,这些基础的技术准备会影响我们前期对需求实现方式、资源投入、项目计划的确认;另一方面,这些准备工作没有完成,可能会导致我们进入设计/开发的时候发现没有办法进行下一步,或者需要返工的情况,导致项目中断。另外,有时候我们还需要考虑技术可行性等问题。

4)、其他需要准备的工作。

如果项目启动时客户需要配合的工作还未完成,冻结项目。比方客户的项目经理、部署环境等未明确。

项目启动需要的资料没有收集完成,冻结项目。

项目的整体计划,特别是进度计划没有完成,冻结项目。

项目需要的人员技能还未满足要求,还需要提前做一些培训工作,冻结项目。

02 冲突

我们启动的项目中,有些项目需要的资源会与其他项目有冲突,特别是关键资源。如果这样,其中的一些项目应该被冻结,以避免我们前面讨论过万恶的不良多工。

我们在前面讨论时,一直没有明确关键链与关键路径的区别,这主要是我们为了简化表述而假设项目内部、项目间没有资源的冲突。在没有资源冲突情况下,关键链与关键路径是相同的;如果有资源冲突,关键链与关键路径的区别体现出来了。

在有资源冲突时,关键链是考虑了资源依存关系项目时间最长的那个链条。

以下图为例,我们假设每个任务需要完成的预估时间都是1天,标X的都是需要资源为X的来完成,那么如果不考虑资源依存关系,我们的关键路径如下。

不考虑资源依存关系时的关键路径

如果考虑了资源的依存关系,我们将会发现关键链如下。

在考虑了资源依存关系后的关键链。

上面说明的只是单个项目时候的资源依存关系,当我们把视野拓展到公司多项目管理时,不同的项目也会存在资源冲突问题。为了避免资源的争夺,引起不良多工或者项目经理制定不符合实际的项目计划,我们(PMO)就需要关注每个项目经理在执行项目计划时是否存在项目资源争夺的问题,要将争夺的项目资源进行错开。

独立的四个项目,但是他们的都用到了关键资源,如果PMO没有在一开始就安排好项目的资源安排,由项目经理各自制定计划,那么最终很有可能导致项目会处于资源的争夺当中。如果PMO在一开始就考虑了这个问题,那么一开始我们就可能考虑了项目的错开。甚至还有可能在项目间调配各自资源,让项目间不但没有资源冲突,可能还会有资源的复用。下图就是考虑资源冲突后的项目进度计划。

我知道这个时候可能有人会问,如果项目错开安排了,会不会导致有些项目的完成时间反而延后呢?从礼节上讲,这是一个好问题。不过我们回忆一下不良多工的游戏,里面给我们很重要的一条经验就是早开始未必就会早结束,晚开始也未必会晚结束。

03 太早

既然我们在前面的游戏里见识到,项目早启动未必可以早结束。同时,由于我们以前经常出现的项目延误,导致我们为了避免项目延误提前开工,最终导致了不良多工,从而加重了项目的延误。所以,对于我们前期过早启动的项目,我们应该冻结。

一个有趣的问题。

如果我们当前的项目需要的(关键)资源是空闲的,同时后续暂时没有没有其他新的项目需要这个资源,那么我们可以提前启动一个项目吗?

通俗的说,就是假设我们的人闲着,有项目的话可以提前开工吗?

这需要分为两种情况来考虑:

第一种情况:假设我们启动这个项目投入的只是固定成本(比方只需要投入人),不需要投入可变成本(不需要去额外采购硬件、软件,不需要提前支付费用给外包方,不会提前产生差旅费用等),在项目准备工作完成后,可以提前启动项目。

第二种情况:假设我们启动这个项目需要投入可变成本,就需要评估因为提前启动导致提前投入可变成本的代价(包括财务费用与变更风险),与提前启动带来的好处之间的取舍了。

为了成功,你必须主动采取行动使你大部份的资源在一段时间内不要生产。

——高德拉特

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月11日
下一篇 2019年9月11日

相关推荐