1、第7章 软件项目资源管理与分配 第7章 软件项目资源管理与分配 7.1 项目活动资源概述项目活动资源概述 7.2 项目资源的性质项目资源的性质 7.3 确定资源需求确定资源需求 7.4 资源调度与平衡资源调度与平衡 7.5 关键路径的变更关键路径的变更 7.6 资源分配和限制资源分配和限制 7.7 发布资源进度表发布资源进度表 7.8 成本进度成本进度 7.9 复杂的调度关系复杂的调度关系7.10 小结小结 第7章 软件项目资源管理与分配 7.1 项目活动资源概述项目活动资源概述7.1.1 项目活动资源的概念项目活动资源的概念“资源”是经常遇到的一个词,具有丰富的内涵。国内外的专家、学者对其有
2、各种各样的解释,至今尚没有形成一个被人们普遍接受的定义。现代管理学从资源经济学的角度扩展了资源的内涵。有人提出:“各种自然因素及其他成分组成的各种经济自然环境,以及人类社会形成并不断增长的人口、劳动力、知识、技术、文化和管理等,凡是能进一步有利于经济生产和使用价值提高者,都可称为资源,包括自然资源、经济资源和智力资源三大部分。”显然,这是对资源的广义解释。第7章 软件项目资源管理与分配 这里需要区分资源和能力这两个术语。在管理学中,简单讲,资源意味着有什么,能力意味着能干什么。资源与能力之间不能简单地画等号,使用资源的人的素质、士气、使用资源的方向和方法等都决定着同样的资源在不同的人手里可能发
3、挥的作用和产生的能力是不一样的。因此,资源到手之后,必须搞清楚到底能发挥多大效用,带来多大能力。所以,还要注意有关能力的术语。额定能力(Rated Capacity)。它是指在理想的条件下,所获得的资源的最大产出量。设备的额定能力通常在有关的技术说明书中注明,劳动力的额定能力一般由工程师采用标准工作测量技术来估计。在实际使用中不一定能充分达到这种理想状态。第7章 软件项目资源管理与分配 有效能力(Effective Capacity)。它是指在综合考虑活动分配计划编制和进度安排的约束、维修状况、工作环境以及使用的其他资源的条件下,可以获得的资源最大产出量。有效能力通常小于设计能力或额定能力,因
4、此,在估计需要多少资源从而具备多大的能力时,更应该关心有效能力是多大。7.1.2 为什么要进行资源分配为什么要进行资源分配项目中的任务有了一系列的资源支持才得以完成。资源的范围比较广泛,在分配的时候往往无法做到“无限资源随便用”的现象。任务在分配资源的时候,往往看到资源的可用性,并没有考虑资源在可用之前是否已经被分配的情况,因此,在分配资源的时候就会出现被重复分配的现象,从而导致资源冲突。第7章 软件项目资源管理与分配 在软件项目管理中,资源过度分配的原因主要有以下几点:(1)一个全职资源在同一时间段被分配给多个任务。例如,在IT项目管理中,小王被分配到设计部门去设计一个模块,但是,同一个时间
5、段又安排他到测试部门去测试一个模块。这样就会出现一个全职资源(小王)在同一时间被两次或多次重复利用的局面,导致了资源的过度分配。(2)把一个任务的工期延长了。这种现象是说,一个任务因为某些原因,本来10天的工期,突然延长到了12天,那么,之前分配给它的资源一直在原有的时间内支持它,任务的突然延长,势必会使得支持它的资源也要增加数量,这样一来,资源就需要以10天的支持力度来支持12天的工作,资源的工作量增加,导致资源过度分配。第7章 软件项目资源管理与分配(3)资源的单位可用性被减少或降低。一个全职资源可以表示为100%,如果一个任务只需要一半的资源支持,即50%,这个时候任务本身如果附加了一些
6、非工作时间,就会出现资源不足的现象。例如,小李需要用半天的时间去拜访客户,半天的工时为4个小时,小李就被分配了50%的任务量,但是,在分配时给任务多加了一个小时,即5个小时拜访客户,事实上对任务来说,5个小时之内(即4个小时)就能完成任务,但是,对资源来说就出现了一个问题,即少了一个小时的资源支持。一个小时的非特殊工作时间影响了资源。第7章 软件项目资源管理与分配(4)资源的日历和任务的需求没有统一好。工时类资源有自己独特的日历,这些日历就是为了能够很好地支持任务而设置的。例如,大周的工作日历设置为周五不上班,但是,在分配任务给大周的时候没有考虑这个特殊的情况,也把周五的工作安排给了大周,那么
7、,这时候就出现了资源过度分配的现象,大周就需要用一周四天的时间来完成五天的工作。第7章 软件项目资源管理与分配(5)摘要任务和其子任务双重分配。摘要任务的开始时间是其第一个子任务的开始时间,摘要任务的完成时间是其最后一个子任务的完成时间。如果把小张分配给了摘要任务,同事也分配给了其所有子任务,这个时候如果再将小张分配给子任务,很显然就出现了重复分配,导致小张被分配了两次。作为一般规律,还是把资源分配给子任务为好。事实上上述问题反映了资源过度分配的两种现象:一是资源被重复分配而导致的资源过度分配;另一种是资源的工时总量大于需求的可用量。第7章 软件项目资源管理与分配 7.2 项目资源的性质项目资
8、源的性质7.2.1 项目资源的分类项目资源的分类根据会计学原理对资源分类,可将项目实施所需要的资源分为劳动力(人力资源)、材料、设备和资金等。这是划分项目资源最常见的方法。其优点是通用性强,操作简便,易于被人们接受。本章就按此分类讨论项目资源计划编制及资源价格。根据资源的可得性分类,资源可分为可持续使用的资源、消耗性资源和双重限制资源。可持续使用的资源能够用于相同范围的项目各个时间阶段,例如固定的劳动力;消耗性资源在项目开始阶段往往以总数形式出现,随着时间的推移,第7章 软件项目资源管理与分配 资源逐渐被消耗掉,例如各种材料或计算机的机时;双重限制资源是指这类资源在项目的各个阶段的使用数量是有
9、限制的,并且在整个项目的进行过程中,这类资源总体的使用量也是有限制的,例如在项目的实施过程中,资金的使用就是一种典型的双重限制资源。根据项目使用资源的特点分类,可将项目分为没有限制的资源和价格非常昂贵或项目期内不可能完全得到的资源。没有限制的资源在项目的实施过程中没有供应数量的限制,例如没有经过培训的劳动力或通用设备;价格非常昂贵或项目期内不可能完全得到的资源如在项目实施过程中使用的特殊试验设备,每天只能进行4小时工作,或某些同时负责多个项目的技术工作的专家。第7章 软件项目资源管理与分配 这里,将软件项目所需的资源分成以下七类:劳动力(Labor)。软件项目的主要人员是开发项目组的成员,例如
10、项目经理、系统分析员和软件开发人员等。同等重要的还有质量保证组和其他支持人员,以及承担或参与特定活动所要求的客户组织的任何雇员。设备(Equipment)。显而易见的设备包括工作站以及其他计算机和办公设备。不要忘记员工还需要使用桌子和椅子等设备。材料(Material)。材料是要消耗的资源,不是要使用的设备。在多数项目中材料不是很重要,但是对有些项目来讲可能是非常重要的,例如要广泛分发的软件可能要求提供专门购买的光盘。第7章 软件项目资源管理与分配 场地(Space)。对于由已有员工承担的项目来讲,场地一般不是问题。如果需要任何额外的员工(新招聘的或签订合同的),则需要寻找办公场地。服务(Se
11、rvice)。有些项目要求获取专门学科的服务,例如广域分布式系统的开发要求计划好长途通信服务。时间(Time)。时间是可由其他主要资源弥补的资源,有时可以通过增加其他资源来减少项目的时间,而且如果其他资源意外减少,几乎可以肯定要延长项目的时间。资金(Money)。资金是次要的资源。资金用于购买其他资源,当使用其他资源时,就要消耗资金。类似于其他资源,资金要用一定的成本来获得,这就是利息费。一般情况下,在制定计划的过程中,对于那些消耗性的资源和有限制的、需要定期使用的资源,应予以单独考虑。第7章 软件项目资源管理与分配 7.2.2 项目活动资源的特点项目活动资源的特点项目是一种特殊的一次性努力,
12、那么项目活动使用的资源有什么特点呢?大致上可以把这种特点概括为四个方面,即资源的有限性、即时消耗性、专有性和多用性。有限性。资源的有限性亦称稀缺性,是资源最重要的特征。大量的资源在数量上总是有限的,不是取之不尽、用之不竭的,而且可代替资源的品种也是有限的。具体到项目,一般在项目建议书、项目论证与评估书、可行性研究报告或批准书中都对可供项目调用的资源具有十分明确的说明和规定,最明显的就是有限的人力资源(主体是项目团队)以及项目预算。因此,在实施项目时,资源的有限性必须引起人们的重视。在项目开展以后,项目经理不宜而且不易再从外部不断要求追加资源。第7章 软件项目资源管理与分配 即时消耗性。项目是一
13、次性努力,项目组织也是临时性机构,就项目来说,不可能设立庞大的库存系统和永久性地占有项目的资源。各种资源必须只在需要的时候按照需要的数量提供给项目使用,因此,在考虑项目的资源使用时必须确保在正确的时候、正确的地点向正确的人交付正确数量的资源。项目可以为防范资源不到位的风险而采取应对措施,但不会过早储存也不会过量储存那些比较昂贵的资源。第7章 软件项目资源管理与分配 专有性。相对于日常的运行活动而言,项目是对时间进度要求非常强的一种活动,而且不可预见性也比较大,出现各种各样的变更是常有的事,软件项目尤其如此。为使变更不与资源使用计划产生过多的矛盾,项目最好是拥有一些能够自己决定的、相对固定的资源
14、,不和其他项目或日常运作交叉使用,以免在资源使用上过多地受到外部因素的影响。第7章 软件项目资源管理与分配 多用性。资源一般都有多种功能和用途,可满足多方面的需要,同一种资源可以作为不同活动的投入物,不同的项目活动对某一种资源也可能存在着共同的需求。所以,在考虑项目的资源使用时应尽可能使有限的资源满足不同项目活动的需要,使资源得到最有效的利用,并增加调配资源的灵活性,应付突发事件。资源的不断进出和调配本身就是一件很麻烦的事情,也会耗用时间和资金,因此,在资源使用上,项目应该避免出现频繁调进调出资源的情况,这尤其适用于人力资源的使用。新手的加入和一名老团队成员的退出,不仅要办理必要的手续,还有培
15、训、融合以及退出安置等一大堆事情要做,千万不可小视。第7章 软件项目资源管理与分配 7.2.3 项目资源需求的特点项目资源需求的特点项目的生命周期影响着项目对资源的需求。例如,某软件开发项目在早期阶段有一小部分设计人员和高级人员。当项目进行到大约一半时,项目组规模达到顶峰,主体开发和测试正全力进行,此时人员构成以中间人员和低层次人员为主。当项目接近终点时,小组规模缩小为仅仅几个人,着眼于将来的维护。大多数项目全生命周期有相同的人力和成本投入模式,即开始时少,后来多,当项目快结束时又迅速减少。资源需求与项目生命周期各个阶段的关系可以用图形清楚地表示出来。图7.1表示某项目生命周期的各个阶段对劳动
16、力和材料两种资源的需求状况。第7章 软件项目资源管理与分配 图7.1 典型资源需求概况(生命周期的不同阶段对劳动力和材料这两种资源的需求状况不同)第7章 软件项目资源管理与分配 图7.1中,曲线(a)表示随着时间的变化,该项目对工程师的需求变化情况。从该曲线的变化趋势可看出,项目对工程师的需求在项目的高级开发阶段达到最高点。曲线(b)表示随着项目进展的变化,该项目对非专业人员需求的变化情况。在项目的详细设计和生产两个阶段,项目对非专业人员的需求达到最高点。曲线(c)表示项目各阶段对材料的需求变化情况。同样是在详细设计和生产两个阶段,项目对材料的需求达到最高点。由于项目的一次性特点,项目资源不同
17、于常规组织机构的资源,多是临时拥有和使用的。资金需要筹集,服务和咨询力量可以采购(招标或招聘),有些资源还可以租赁。资源的高效和合理使用对项目管理至关重要。任何资源的短缺、积压和滞留都会给项目带来损失。第7章 软件项目资源管理与分配 7.2.4 项目活动资源数量的影响项目活动资源数量的影响项目活动工期的长短显然会受到能够分配的资源数量的影响,但二者之间不一定存在直接的线性关系,也不一定是正相关或负相关关系,软件项目尤其如此。例如,一个每天只工作半天的人完成一项活动所需时间可能正好是全天都工作人员所需工时的两倍,而两个人共同工作时,完成一项活动所需时间可能恰好是单独一个人工作时所需时间的一半。但
18、是,并非投入工作人力的增多一定伴随着所需时间的减少。随着过多人力的增多,项目反而会出现沟通和协调问题,影响劳动生产率。也就是说,随着资源的增加,效益增长反而递减。第7章 软件项目资源管理与分配 从上面的讨论可以看出,资源数量和项目活动的工期之间主要有三种关系,如图7.2所示。资源投入增加,工期减少。通常这种变化不一定总是同比例变化的。资源投入增加,工期不变。当投入在活动上的资源超过一定的水平后,继续投入资源对项目的工期没有影响。资源投入增加,工期增加。当投入在活动上的资源超过一定的水平后,继续投入资源反而会使工期延长。第7章 软件项目资源管理与分配 图7.2 资源数量对项目时间的影响第7章 软
19、件项目资源管理与分配 7.2.5 项目活动资源质量的影响项目活动资源质量的影响大多数活动所需时间都受到分配的人力与物质资源能力的直接影响。例如,如果两个人都全力以赴投入工作,通常资深人员完成指定活动所用时间要比初级人员少。例如,一项翻译活动需要两个专业翻译工作两天,如果使用一般大学生来完成这项活动就可能需要很长的时间了。如图7.3所示,一般而言,资源质量越好,项目活动所需时间就越短,但是到达一定的极限之后,再提高资源质量也不会减少活动时间。另外,过高的资源质量还可能意味着使用成本的增加。所以,与项目活动所需的资源的数量类似,资源质量也是以适用、好用、易用为首要原则的。第7章 软件项目资源管理与
20、分配 图7.3 资源质量对项目时间的影响第7章 软件项目资源管理与分配 另外,在探讨项目资源质量时还要注意区分物质资源和非物质资源的质量问题。对于物质资源,主要借用客观的检验指标,比如水泥的质量、设备的质量等。对于非物质资源,除了有客观判断外,还要有主观的判断。最明显的就是人力资源,除了要求具有一定的知识和技能以外,对项目的投入程度和热情也是判断这种资源质量好坏的重要依据。对软件项目来说,人力资源的差别非常巨大,尤其应该关注。完成项目活动所需的资源有多种类型,也就存在多种形式的资源组合。通过增加资源数量、提高资源质量或改变资源类型都可以减少项目活动所需的时间,但是,这种减少都不是无限度的,也不
21、一定都是有效的。所以,在确定资源需求的时候应当综合考虑各方面的因素。第7章 软件项目资源管理与分配 7.3 确定资源需求确定资源需求制定资源分配计划首先是列出所要求的资源以及要达到的期望等级,一般通过依次考虑每项活动并标识要求的资源来达到。有可能需要的资源并不是活动要求的,但却是项目基础设施的一部分(例如项目经理)或是支持其他资源所要求的(例如办公场地可能是内部签约软件开发人员所要求的)。因此,资源需求列表必须尽可能全面,宁愿所包含的某些资源在以后不需要时再删除掉,也不要忽略某些必需的资源。如下案例所示:小张已经因一项可能的需求(将要招聘签约软件开发人员)而增加了额外的办公场地。第7章 软件项
22、目资源管理与分配 案例:考勤应用系统案例:考勤应用系统网络图网络图小张已经为TCAS项目生成了一个网络图(如图7.4所示),并使用这个网络图作为资源需求列表的基础,该资源需求列表的一部分如表7-1所示。注意,这里他并没有为任务分配人员,但是,已经决定需要哪种类型的员工。活动周期假定活动将由“标准的”分析员或软件开发人员来执行。第7章 软件项目资源管理与分配 图7.4 TCAS网络图(这是典型的软件开发项目的网络图,可用于其他项目管理中)第7章 软件项目资源管理与分配 表表7-1 TCAS资源需求列表的一部分资源需求列表的一部分第7章 软件项目资源管理与分配 第7章 软件项目资源管理与分配 7.
23、3.1 确定资源需求要考虑的因素确定资源需求要考虑的因素对一个给定的项目活动,确定资源需求时必须综合考虑多方面的因素,从而做出最恰当的资源需求预测。通常这些影响因素主要包括以下几个方面:资源的适用性。在选择资源时,不要过分求好和贪多,要尽可能使其具有最大的适用性。这样,不但要考虑资源本身的质量和供给状况,还要考虑项目活动的需求、可以付出的成本,以及使用这种资源最想达到的目的,将其进行综合权衡。最典型的例子就是一个球队,全明星阵容并不一定就能夺取冠军。第7章 软件项目资源管理与分配 资源的可获得性。在确定项目活动资源的需求时,有关什么资源、在什么时候、以何种方式可供项目利用是必须加以考虑的,否则
24、,资源需求计划做得再好也没有实际意义。通常,项目活动所需的资源并不总是可以随时随地获得的。十八勇士渡大渡河就是一个例子,当他们上了船以后,再想获取额外的资源是不可能的。尤其是一些稀缺资源,例如具有特殊技能的专家、昂贵的设备等,这些资源一般在组织中很少或根本没有,必要时得从组织外部引进,而且市场上也不一定随时就能得到或很难完全得到。所以,在确定活动资源需求的时候,应当在满足项目活动顺利实施的前提下,尽量选择通用的资源类型,以确保项目活动资源在需要的时候第7章 软件项目资源管理与分配 可以得到。例如,一些关键的零部件如果可以在国内采购就没有必要引进,因为采用进口零部件一来成本较高,二来交货期长,不
25、确定性很大。项目日历和资源日历。项目日历和资源日历确定了可用于工作的资源的时间。资源有资源的可供应时间,项目有项目的运作时间,这两个时间表并不一定一致。例如,一些项目仅在法定的工作时间内可以进行,而资源随时都可以供应,或者相反。资源日历对项目日历有影响,反映了项目有关人员在该项目中需要共同遵守的工作日和工作时间。例如,项目团队成员可能在工厂停电的时候接受培训;一台多个项目共同占用的设备,当需要使用的时候,设备可能正在其他项目中使用,所以为不至于窝工等待,必须提前做出工作安排。第7章 软件项目资源管理与分配 资源质量。不同的活动对资源的质量水平要求是不同的,在确定资源需求的时候必须保证资源的质量
26、水平满足项目活动实施的要求。例如,在某些技术性要求很高的活动中,必须明确界定所需资源的质量水平。当资源质量不能满足要求时,就要考虑增大资源数量是否可以补救资源质量不足带来的问题。例如,对一项翻译活动,如果需要2个专业翻译干上两天,可否考虑让4个非专业翻译干上2个工作日,也能完成任务?当然也有可能因为技术水平的原因,无论增加多少资源也无法按质完成该项活动。第7章 软件项目资源管理与分配 资源使用的规模经济和规模不经济。一种情况是资源投入得越多,单位时间段的成本反而会越小,而且使项目进度加快。这是因为规模经济的特点,分摊了一些成本和加快了学习曲线效应。但是,如果不断增加分配给某个活动的资源数量,当
27、该资源的数量达到某一程度时,再增加该类资源,常常不会使该项活动的工期缩短,也就是说,超过这一数值时,再增加资源对该项活动来说不仅是无效的,而且会逐渐减少收益。例如,单位工作面上的劳动力人数达到一定的数量以后,如果再增加劳动力,其结果必然是成本增加,麻烦增多,工期延长。第7章 软件项目资源管理与分配 关键活动的资源需求。在确定资源需求的时候,应当分析活动在整个项目中的重要性。如果是关键环节上的活动,那么对该活动的资源需求应当仔细规划,适当提高该活动的资源储备和质量水平,保证活动资源在需要的时候可以及时获取。同时,还应该为该项活动准备资源需求替代方案和赶工资源需求方案等应急方案,以便减少资源不足带
28、来的风险,确保该活动按计划顺利完成。第7章 软件项目资源管理与分配 活动的关键资源需求。在活动所需的资源中,肯定有些资源是十分关键的、稀少的和不可替代的,而有些资源是不重要的、普遍存在的和可以替代的。在确定资源需求的时候,应当着重考虑关键资源的需求问题,通过增加该项资源的储备、加大采购提前期、准备多个供方等措施来确保活动工期不因关键资源的问题而受到影响。第7章 软件项目资源管理与分配 项目活动的时间约束和资源成本约束的集成。确定项目活动资源需求时除了要考虑资源的使用性质以外,还要从集成管理的角度来考虑所使用资源的成本和时间。当人们以各不相同的形式来实施项目活动时,各个活动的资源组合形式影响着项
29、目成本和进度。例如,完成某项活动如果采用机械设备需要2天完成,成本是1万元,采用人工完成需要4天,成本是2千元,在确定资源需求的时候就应该运用集成的思想来做出决策。如图7.5所示,如果项目是时间约束型的,就优先考虑采用机械设备完成;如果项目是成本约束型的,就优先考虑采用人工完成。在决策的过程中要对各种活动资源组合形式进行对比分析,权衡利弊,最终选择恰当的资源组合。第7章 软件项目资源管理与分配 图7.5 项目活动的时间约束和资源成本约束的集成(确定项目活动资源需求要考虑项目是 时间约束型的还是成本约束型的,在决策的过程中要对各种活动资源组合形式进行对比分析,权衡利弊,最终选择恰当的资源组合)第
30、7章 软件项目资源管理与分配 资源蕴含的风险。在确定资源需求时,还应当分析资源蕴含的风险。项目是一次性的和独特性的努力,存在着许多风险。前面已经提到资源的质量风险和资源的可获得性风险,这些风险因素都会对项目活动的资源需求产生重大影响。还有,当项目中应用新技术、新材料以及新设备的时候,由于员工对新技术、新材料和新设备的熟悉需要一定的时间,会导致资源需求和工期估计都超过原先的预期。再有,当引入新的团队成员来完成项目活动的时候,人员增加带来沟通和协调工作的增加,不同的工作习惯、不同的文化背景和不同的责任心,在员工之间会引发冲突甚至是对抗,这些因素都会削弱资源增加所带来的绩效提升。第7章 软件项目资源
31、管理与分配 活动资源储备。在确定活动资源需求的时候,应当考虑活动资源的储备,特别是关键活动的关键资源。通过增加活动资源储备可以增强项目的风险承受能力和应对能力。当然活动资源储备也要考虑成本因素,太多的活动资源储备不仅会带来资源成本的增加,还会增加不必要的管理成本。7.3.2 确定项目活动资源需求的方法确定项目活动资源需求的方法确定项目活动资源需求是不容易的。对于比较熟悉的、常规的项目活动可以获得相对比较准确的结果。在缺乏经验的时候,结果的精度会大大下降,例如确定一些创新项目中的活动资源需求。根据项目特点不同,可以选择以下方法来确定项目的活动资源需求。第7章 软件项目资源管理与分配 1.专家调查
32、法专家调查法所谓专家调查法,是指运用一定的方法,将专家们个人分散的经验和知识集成为群体的经验和知识,进而对事物的未来做出主观预测的过程。这里的“专家”是指对预测问题的有关领域或学科有一定专长或有丰富实践经验的人,包括项目实施组织内部其他部门的人员、外部咨询人员、专业和技术协会以及行业协会人员等。通常专家调查法可以用来确定项目的活动资源需求。专家做调查和索取信息所采取的具体方式有许多种,常用的有专家个人判断、专家会议和德尔菲法。第7章 软件项目资源管理与分配 尽管专家调查法是确定项目活动资源需求中的一个重要方法,但是,专家调查法建立在专家主观判断的基础之上,因此专家的知识面、知识深度和占有信息的
33、多少、兴趣和心理状态对预测结果影响较大,易带片面性,从而导致项目活动资源需求出现不甚合理的情况。第7章 软件项目资源管理与分配 2.资料统计法资料统计法资料统计法也是确定活动资源的一项重要方法,是使用历史项目的统计数据资料,计算和确定项目活动资源需求的方法。在这种方法中使用的历史统计资料要求有足够的样本量,计划指标可以分为实物量指标、劳动量指标和价值量指标。其中,实物量指标多数用来表明项目所需资源的数量,劳动量指标主要用于表明项目所需人力的数量,价值量指标主要用于表示项目所需资源的货币价值。利用这种方法计算和确定项目资源计划,能够得出比较准确合理和切实可行的结果。这种方法要求有详细的历史数据,
34、所以要普遍使用这种方法存在一定的难度。第7章 软件项目资源管理与分配 在某些情况下,如果项目的活动与历史资料中其他项目中完成的活动相似,此时可以直接用已完成项目中的同类活动的资源需求来标识当前项目中的活动资源需求,不必考虑资料中的指标体系。但是,如果相隔时间较长,就应当考虑通货膨胀和货币的时间价值等因素。第7章 软件项目资源管理与分配 3.三点技术三点技术(Three Point Technique)这种方法经常使用在活动历时估计上,同样也可以应用在确定活动资源需求中。活动资源需求受多种因素的影响,即使重复进行同一项活动,其实际资源消耗量也不一定总是一致的,对软件项目尤其如此。因此,可以考虑采
35、用三点技术来确定活动资源的需求。这种方法要求对活动做三类估计:乐观的、悲观的和最可能的。乐观估计假设活动所涉及的所有事件均对完成该活动有利,此时的资源需求是完成活动的最少资源需求;悲观估计则假设所有活动涉及的事件均对完成活动不利,此时的资源需求是完成活动的最多资源需求;最可能的估计是通常情况下完成活动的资源需求。汇总三类估计的结果就可以确定项目的活动资源需求。第7章 软件项目资源管理与分配 4.项目管理软件法项目管理软件法项目管理软件有助于计划、组织和管理资源库,可以帮助编制项目活动资源需求。市场上有许多项目资源计划编制方面的通用软件系统,例如Microsoft公司的Project、Oracl
36、e的P3(Primavera Project Planner)等。项目管理软件不仅可以存储资源库信息,而且可以定义资源的使用定额,还可以确定项目资源需求的日历时间等。当然,不同软件有不同的复杂程度和功能强度,需要根据项目的需要进行选用。第7章 软件项目资源管理与分配 7.4 资源调度与平衡资源调度与平衡确定了资源需求,产生资源需求列表后,就需要将需求列表映射为活动计划,然后评估项目期间所需要的资源分布。最好将活动计划表示成条形图,然后使用条形图来产生每个资源的资源直方图。案例:考勤应用系统案例:考勤应用系统不平衡的资源直方图不平衡的资源直方图小张将最初的活动计划描绘成条形图和分析人员/设计人员
37、的直方图,如图7.6所示。每个活动已经计划了最早开始日期,而且在其他各方面都相同的情况下,保留缓冲期可以用来处理应急情况,这是基本的策略。在TCAS项目中,这里的最早开始日期计划往往创建一个以峰值开始然后逐渐变小的资源直方图。第7章 软件项目资源管理与分配 图7.6 TCAS条形图和分析人员/设计人员资源直方图的一部分(上面部分是进度安排,下面部分是分析人员/设计人员的资源需求,分布很不均匀)第7章 软件项目资源管理与分配 在项目进展过程中,变更资源的等级(特别是人员)一般会增加项目的成本。新招聘员工需要成本,甚至在内部调动员工也需要让新员工花时间来熟悉新的项目环境。图7.6的资源直方图带来了
38、问题,它要求在规格说明和设计阶段期间,两名分析人员/设计人员空闲12天,一名空闲7天,一名空闲2天。TCAS不可能有另外的项目在该时间段需要这些分析人员/设计人员,这就引出了一个问题:空闲时间是否该由TCAS项目承担。理想的资源直方图将是平衡的,也许有初步的增长和阶段式的减少。第7章 软件项目资源管理与分配 案例:如何平衡资源直方图案例:如何平衡资源直方图不平衡的资源直方图存在的另一个问题是,可能使要求的资源更加无法获得。图7.7描绘了如何在遵从诸如优先需求这样的约束条件下,通过调整一些活动的开始日期并将某些活动分开,使资源直方图变得平衡而且可在需要时获得所需要的资源。不同的字母表示在一系列模
39、块测试任务中工作的员工,即一人在任务A上工作,两人在任务B和任务C上工作,等等。第7章 软件项目资源管理与分配 图7.7 平衡处理前后员工需求的资源直方图(通过将任务C、D分开,任务B、H延后来平衡资源,这是实际工作经常采用的方法,毕竟5名测试人员要比9名测试人员更容易满足)第7章 软件项目资源管理与分配 在图7.7中,原始的直方图是以活动的最早开始日期来安排活动而创建的。资源直方图表明,按最早开始日期安排会导致典型的峰值形状,并且总共要求9名员工,但是项目只能得到5名员工。通过延迟某些活动的开始日期,就可能使资源直方图变得平衡,而且可以减少最大资源的需求程度。注意,有些活动(如C和D)已经被
40、分开。在可以将非关键活动分开的情况下,可以提供有用的方法来填充资源需求图中对某一资源需求较少的凹槽,但是在软件项目中,不增加所需要的时间而分开任务是困难的。第7章 软件项目资源管理与分配 有些活动一次要求多个单元的资源,例如活动F要求两名程序员,每名程序员工作两周时间,也可以重新安排这个活动为一名程序员花四周时间。实践中,资源是通过项目活动来分配给项目的,找到“最佳”分配要消耗时间而且很困难。一旦项目组的一名成员分配给某项活动,该活动具有计划的开始日期和完成日期,那么该项目组成员在那段时间对其他活动来讲就无法得到。因而,分配某一资源给一项活动限制了资源分配的灵活性和其他活动的进度安排。第7章
41、软件项目资源管理与分配 因此,设置活动的优先级有助于使资源能以某种合理的顺序分配给竞争的活动。优先级总是先分配资源给关键路径活动,然后分配资源给那些最可能影响其他活动的活动。使用这种办法,可使较低优先级的活动适应更加关键的已经安排的活动。有各种设置活动优先级的方法,下面描述其中的两种:总缓冲期优先级。活动按总缓冲期排序,有最少总缓冲期的活动优先级最高。在这种方法的最简单的应用中,活动按总缓冲期的升序分配资源。不过,随着计划的进展,如果资源无法在最早开始日期获得,活动将延迟,总缓冲期将减少。因此,每当有一项活动延迟时,都要重新计算缓冲期,并重排优先级列表。第7章 软件项目资源管理与分配 有序列表
42、优先级。用这种方法,可以将同时进行的活动按照一组简单的规则来排序。这组规则的一个例子是Burman的优先级列表,该列表考虑了活动周期和总缓冲期。(1)最短关键活动;(2)关键活动;(3)最短非关键活动;(4)有最少缓冲期的非关键活动;(5)非关键活动。但是,资源平衡乃至包含可获得的资源需求,并不可能总是在计划的时间表内,用延迟活动来平衡资源峰值常常会推迟项目的完成。在这样的情况下,需要考虑增加可用的资源等级或改变工作方法。第7章 软件项目资源管理与分配 案例:考勤应用系统案例:考勤应用系统调整资源直方图调整资源直方图小张决定在项目中使用3名分析人员/设计人员来减少成本。不过,初步的资源直方图在
43、阶段2和阶段4期间要求4名分析人员/设计人员。小张怎样做才能平衡直方图并将要求的分析人员/设计人员减少为三名呢?小张不得不延迟模块D的规格说明(如图7.8所示),直至完成模块B的规格说明之后再开始,这将使总的项目周期增加5天(总周期达到109天)。小张希望项目在100天内完成,现在更让人失望了,因此,他决定考虑另外的计划。第7章 软件项目资源管理与分配 早期,小张曾决定在设计开始之前,应该同时检查所有的规格说明(活动检查规格说明)。显然,这会导致严重的瓶颈,延迟模块C会使问题进一步恶化。因此,在折中考虑后他决定:同时检查模块A、B和D的规格说明,然后就开始设计,不用等待模块C规格说明的完成。当
44、模块C的规格说明完成时,再与其他活动对比检查。小张重画网络图来反映这种情况,插入检查模块C规格说明的新活动(活动检查规格说明C),如图7.9所示。这样,就可以在100天内完成项目了,绘制一个新的资源直方图来反映这种变更,如图7.10所示。第7章 软件项目资源管理与分配 图7.8 使用3名分析人员/设计人员的TCAS网络图(只使用3名分析人员/设计人员时,需要调整模块D的分析和设计的时机,这样就会延长项目时间)第7章 软件项目资源管理与分配 图7.9 修订的TCAS网络图(调整活动关系,对模块C的分析、检查、设计、编码/测试等活动单独处理,与模块A、B、D并行进行,就打破了检查规格说明的限制,从
45、而达到减少项目工期的目标)第7章 软件项目资源管理与分配 图7.10 修订的TCAS资源直方图(上面部分是进度安排,下面部分是分析人员/设计人员的资源需求,只有1天需要4名分析人员/设计人员,其他时间最多只要3名就可以了)第7章 软件项目资源管理与分配 7.5 关键路径的变更关键路径的变更资源调度会创建新的关键路径。因为缺少资源而延迟活动的开始,就会导致活动在用完缓冲期时变成关键的活动。而且一个活动完成的延迟,会导致延迟其后续活动所要求的可用资源。如果其后继活动已经是关键的,那么前趋活动现在可能通过关联它们的资源而成为关键活动。第7章 软件项目资源管理与分配 案例:考勤应用系统案例:考勤应用系
46、统资源限制的网络图资源限制的网络图小张修订的进度仍然要求4名分析员/设计人员,但只有一天,如图7.10所示。注意,在重新安排某些活动时,小张引入了另外的关键活动。延迟模块C的规格说明已经用完其所有缓冲期(同时用完沿那条路径的所有后续活动的缓冲期)。小张现在有了两条关键路径:显示在网络图中的一条以及新增加的一条(沿着详细分析模块C的路径)。第7章 软件项目资源管理与分配 现在,小张决定将模块C的规格说明延迟一天,以确保只要求3名分析人员/设计人员,而且同样可以满足100天的工期约束。现在的情况下,模块C需要等待模块B或模块D的分析员完成分析活动后才能开始,这里将分析模块B的分析员安排来进行模块C
47、的分析工作,即分析完模块B后再分析模块C(分析完模块D后再分析模块C和这里的处理类似),那么修订后的网络图如图7.11所示。经过现在的调整后,添加了诸多限制,使得关键路径也有所不同。第7章 软件项目资源管理与分配 图7.11 要求3名分析人员/设计人员的TCAS网络图(针对图7.10的问题,将模块C的规格说明延迟一天,以确保只要求3名分析人员/设计人员,而且同样可以满足100天的工期约束)第7章 软件项目资源管理与分配 7.6 资源分配和限制资源分配和限制正如前面章节中介绍的那样,分配资源和平衡资源相对来讲比较简单,给定类型的所有资源在这种情况下或多或少是同等对待的。在传统的建筑项目中,当把劳
48、动力分配给活动时,不需要区分人员之间的不同,即将劳动力的技能和生产率同等看待。但是,对软件项目来讲,这种情况是很少出现的。由于软件开发的特点,技能和经验在要花费的时间和最终产品的质量方面起着重要的作用。除非是极大型的项目,否则尽早将活动分配给员工是有意义的,这样就可以用资源修订对活动周期的估计。第7章 软件项目资源管理与分配 将任务分配到人员时,需要考虑许多因素,例如资源的适用性、资源的可获得性、资源质量、关键性、风险、培训和团队建设等。前面的内容主要集中于设法以最少的员工数和最早的完成日期完成项目,这样做约束了活动何时要执行,增加了不能满足目标工期的风险。第7章 软件项目资源管理与分配 案例
49、:考勤应用系统案例:考勤应用系统平衡资源直方图平衡资源直方图小张决定,分析模块规格说明的人应该承担相对应模块的设计,他认为这将促进三名分析人员/设计人员小周、大赵和小李的积极参与。小李是一名新的分析人员/设计人员,小张让他进行模块D的规格说明和设计,因为这两个活动相对于活动跨度来讲有较大的缓冲期(分别是6天和9天)。由于模块C的规格说明和设计是在关键路径上,因此小张决定分配这两项任务给特别有经验和能力的员工小周。做了这些决策之后,在分配其他的规格说明和设计活动时,小张几乎没有机动的余地了。现在,修订后的条形图和资源直方图如图7.12所示。第7章 软件项目资源管理与分配 图7.12 只有3名分析
50、人员/设计人员的TCAS资源直方图(上面部分是进度安排,下面部分是分析人员/设计人员的资源需求,现在最多只要3名分析人员/设计人员就可以了)第7章 软件项目资源管理与分配 7.7 发布资源进度表发布资源进度表在分配和调度资源中,使用了活动计划(网络图)、活动条形图和资源直方图,它们作为计划工具是非常优秀的,但不是发布和交流项目进度表的最佳方式。因此,需要某种形式的工作计划。工作计划常常是以列表或图表形式发布的,如图7.13所示。第7章 软件项目资源管理与分配 案例:考勤应用系统案例:考勤应用系统发布资源发布资源小张担心如果项目组成员知道自己的活动不是关键活动,就会缺乏紧迫性,所以决定不包含活动
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。