《项目及项目管理过程之计划和预算》由会员分享,可在线阅读,更多相关《项目及项目管理过程之计划和预算(9页珍藏版)》请在金锄头文库上搜索。
1、项目管理过程之计划和预算作者:未知 日期:2006-3-13 19:47:36 1.2 项目计划和预算(一)因为项目具有唯一性,决定了项目中必然有我们从未做过的事情,所以项目的首要任务就是“计划、计划、计划”。强调计划的重要性并非说明项目管理的主要任务就是编制计划,而是指计划是一项贯穿于整个项目生命周期的持续不断的过程,实际工作中恰恰要注意计划的详细程度与项目的实际规模匹配。项目计划包括主计划和辅助计划。主计划的编制有清晰的步骤,大多数项目都可以按相同的顺序进行,一般包括范围定义、活动定义、活动估算、活动排序(网络分析)、进度计划、资源计划、成本估算和成本预算等步骤。辅计划的编制则可以陆续或单
2、独进行,与具体项目的特点也有比较密切的联系。辅助计划包括质量计划、组织计划、沟通计划、风险管理计划、变更控制计划等。本期讨论主计划的范围和活动定义部分,后面将陆续介绍活动估算和网络分析以及进度/资源计划、项目预算等内容。讨论的重点不是具体的过程,而是一些实用的工具和方法,通过介绍工具的使用方法贯穿制定计划的过程。1.2.1范围和活动定义项目计划的第一步是项目范围定义,进而定义项目需要进行的活动、角色、责任以及项目组的结构。范围定义一般使用WBS(Work Breakdown Structure)。WBS将项目的“交付物”自顶向下逐层分解成易于管理的若干元素(这些元素组成一个树型图),因此结构化
3、地组织和定义了项目的工作范围。WBS每细分一层都是对项目元素更细致的描述,细分的元素称为工作细目,其中最低层的工作细目(树型图的叶节点)叫工作包。为了方便分层统计和识别,WBS中的每个元素都被指定一个唯一的标识符,并分层表示。WBS是项目管理的起点,但WBS没有固定的分解方法,也没有唯一正确的答案,甚至需要分解到什么层次也没有统一的规定。这里根据笔者的经验提供IT领域WBS分解的几个参考原则: 可以将项目生命周期的各个阶段做为第一层,将每个阶段的交付物作为第二层;如果有的交付物组成复杂,则将交付物的组成元素放在第三层; 分解时要考虑项目管理本身也是工作范围的一部分,可以单独作为一个细目; 对一
4、些各个阶段中都存在的共性的工作可以提取出来,例如人员培训作为独立的细目; 分解时应考虑尽量使一个工作细目容易让具有相同技能的一类人承担; 分解的层次应确保工作包的工期、成本易于估算,同时结果易于验证和度量。确定了工作范围后,就要考虑按什么步骤做才能获得这些成果,这称为活动定义,其结果是活动清单。活动清单与WBS不同,活动清单的元素是“动作”,一般是一个动宾词或主谓词,如“制定定单”、“安装设备”;而WBS的元素是“交付物(有形产品)”,一般是一个名词,如“硬件设备”。但WBS是活动清单的基础,一般活动清单依据WBS顺序进行。但在IT领域中,“活动”和“交付物”关系比较直接,所以活动清单与WBS
5、同步进行反而比较方便。这里向大家介绍一个实用的活动清单模板。(见表1) 第一栏是活动列表,根据各阶段和主要交付物分层次列出项目需要进行的所有活动; 第二栏是责任矩阵,顶端列出完成工作所需要的各类角色;角色和活动的交叉部分定义了每项活动由哪个角色负责,还可以记录某角色在该活动中投入的工作量; 第三栏是估算栏,记录完成每个活动需要的总工作量以及总工期; 第四栏是前置活动,记录活动之间的关系,即填写哪些完成之后该活动才可以启动; 第五栏是费用预算,记录除人力成本和采购成本外的投入的专项费用; 第六栏是交付记录,列出每项任务完成后应该提交的过程记录或证明文件。如果使用表1的活动清单模板,则前面讨论的范
6、围和活动定义工作可以看成是填表的1区和6区过程,从而确定了所有的“事”和完成后的“证明”。接下来要考虑则是由谁来做这些事,这可以通过填写2区的责任矩阵完成。责任矩阵表头部分填写项目需要的各种人员角色,而与活动交叉的部分则填写每个角色对每个活动的责任关系,从而建立“人”和“事”的关联。不同的责任可以用不同的符号表示。例如P(Principal)表示负责人;S(Support)表示支持者或参与者;R(Review)表示审核者。用责任矩阵可以非常方便地进行检查责任检查:横向检查可以确保每个活动有人负责,纵向检查可以确保每个人至少负责一件“事”。在完成后续讨论的估算工作后,还可以横向统计每个活动的总工
7、作量,纵向统计每个角色的投入的总工作量。确定了所有的角色之后,依据与“活动清单”的责任关系可以非常自然地建立项目组的组织结构,这种明确的有层次的责任关系也便于自顶向下分层管理。注意这里定义的“角色”并非实际的人员,具体由“谁”负责需要根据担负的责任在项目的过程中落实。综上所述,计划分主计划和辅助计划。主计划的第一步是定义项目的工作范围和活动。范围定义的结果可以用WBS描述,活动定义的结果可以活动清单描述,活动清单可以和WBS同步获得。活动清单中的责任矩阵可以描述项目需要的各类角色和责任关系,所有角色确定后可以方便地确定组织结构。下期我们将讨论活动估算和网络分析的方法。1.2 项目计划和预算(二
8、)1.2.2活动估算活动估算是根据项目的工作范围和资源条件等相关信息估计每个活动需要的工期。估算中要考虑的主要因素包括:1) 工作量Effort,指完成一个活动需要投入的人工,一般以人时、人天、人月为单位。确定工作量时一是考虑系统的规模Size(如代码行数、功能点数和对象点数);二是考虑生产效率。这三者的关系是:工作量=规模/效率。2) 资源Resource,指完成一项活动能够投入的人力资源。投入资源的数量要与规模合理匹配。3) 活动工期Duration。理论上,工作量一定的情况下投入的资源越多活动工期越短,一定区间内可以近似线性,如100个人天的工作量,如果投如10个人,则需要10个工作日完
9、成。估算最直接的方法是由熟悉该活动的专家或负责人进行,由责任人估算时最好要有一定挑战性,也可适当竞争,以避免“宽打宽算”。类似定货、安装等活动的工作量和工期相对比较容易估算,可以凭经验和历史数据获得。而软件开发等活动的估算则比较困难,需要一些特定的方法。目前常用的估算方法有专家评定,类比估算和参数模型,这部分内容比较专业,可以参考相关资料。在活动估算时要注意以下几个问题:1) 工期包括工作时间和等待时间,对于需要等待的活动(如“厂商定货”),工期与投入的资源无关;2) 投入资源与工期不是线性关系,因为投入资源增加后,管理、沟通工作量将以几何级增长,工作量也放大;3) 投入的资源增大到一定程度后
10、受物理条件限制,工期不再减少,因此项目存在最小工期;4) IT研发项目不确定因素较多的原因实际上是工期难以准确估计;估算时还可能会碰到一个问题:同样的活动由不同的人执行,工期可能会不同,那么应该以谁为准呢?应该以平均水平为准。这个平均水平称为标准当量。不同的人有不同的当量系数,落实人选的时候再考虑具体个体的当量系数,并重新评估活动工期。估算的结果可以填在以前介绍的活动清单中的2、3区。 1.2.3活动排序(网络分析) 活动排序的主要任务是分析活动之间的依赖关系,为进一步编制切实可行的进度计划做准备。因活动排序一般用网络图描述,因此也称网络分析。活动排序可以用计算机工具,但对小型项目或大型项目的
11、早期阶段,用手工推算反而比较有效。依据网络图可以进行很多分析和计算,如确定项目的总工期,分析每个活动的最早、最迟开始时间,分析项目的关键路径和关键任务。可以说,网络图是最实用的项目管理工具之一。这里介绍的一种网络图用节点表示活动,用箭头表示工作顺序。一个节点内的元素见图1。其中,标识号和活动名称与活动清单中内容一致;活动工期是活动估算的结果,而其他的最早开始、最早结束、最迟开始、最迟结束和浮动时间等元素是用网络图进行推算的结果。1) 最早开始时间和最早结束时间由网络图正向推导获得。最早开始时间指一个活动最早可以在什么时候开始,最早结束时间=最早开始时间+活动工期。2) 最迟开始时间和最迟结束时
12、间通过反向推算获得。最迟结束时间指在不影响项目工期的情况下,活动最迟可以在什么时候完成。最迟开始时间=最迟结束时间工期。3) 总浮动时间是指在不影响项目工期的情况下,活动最早开始与最迟开始时间的差值,是一个机动时间。典型的网络图如图2所示:活动A是第一个启动的活动,完成后可以同步进行B01和B03,即制定定单和准备机房。B01完成后可以进行B02厂商定货,B02和B03都完成后才可以进行B04安装设备。推算过程简单介绍如下:1) 每个节点的最早开始时间取所有前置节点中最大的那个最早结束时间,而该节点的最早结束时间=最早开始时间+工期。例如B04的最早开始时间取B02和B03最早结束时间中最大的
13、值,为16,也就是说正向推算节点合并时取大值。而最早结束时间为16+1=17。2) 每个节点的最迟结束时间取所有后继节点中最大的那个最迟开始时间。而该节点的最迟开始时间=最迟结束时间工期。例如,节点A的最迟结束时间取B01和B03最迟开始时间中最小的值,为5,也就是说反向推算节点合并时取小值。而最迟开始时间为5-5=0,也就是现在开始。3) 节点的总浮动时间=最迟开始时间最早开始时间。完成网络图上所有数值的计算后,可以得到一个最小的总浮动时间,而且该最小值会将若干节点连成一条路径,这就是关键路径,关键路径可能有多条。关键路径决定了项目的总工期,因路径上的活动之间没有间隔,所以关键路径上任何活动
14、延期都会引起项目的延期,这些活动是项目风险的重要来源。除了关键路径外,还要特别小心次关键路径。次关键路径是指那些总浮动时间非常小的路径,一旦延期1-2天就可能变成关键路径了。在使用计算机工具绘制网络图时,可能只用不同颜色显示主关键路径,从而忽略次关键路径。网络图上有两种节点要小心:一种是大量活动都依赖它的节点,这类活动一旦延期可能造成后续很多工作无法进行。另一种是依赖于大量活动的节点,这类活动的开始要取决于很多工作按期完成,风险较大。对网络图上那些有较大浮动时间的活动,可以初步确定是越早开始越好,还是越晚开始越好。我们往往觉得工作越早完成越“踏实”,其实有的活动却越晚开始越好,比如培训提前进行
15、可能到时就忘了。综上所述,完成了活动定义后,接下来估算活动的工期。网络分析是活动排序的重要方法,可以确定工作顺序和项目工期,分析关键路径,关键节点,并初步考虑活动适合最早还是最迟开始作为进度计划的重要依据。下期预知进度、资源和预算。1.2 项目计划和预算(三)1.2 .4进度和资源计划进度计划的作用是将工作安排反映到日历上,它不仅规定整个项目以及各阶段的起止日期,还具体规定了所有活动的开始和结束日期。常用描述进度计划的工具有甘特图和时间表:1) 甘特图又称为“Gantt Chart”或“Bar Chart”(如图1所示),用横轴表示时间刻度,纵轴表示活动,而用一条“横条”表示该活动的起始和结束
16、时间。传统的甘特图不能表示活动之间的相互关系,现在一些工具(如MS Project)可以用横条之间的箭头表示活动的依赖关系。甘特图的特点是直观性强,缺点是一旦改变进度安排整个图形的形状就改变了,必须重新绘制。2) 时间表一般配合网络图使用。网络图描述任务间依赖关系,而时间表记录每项活动的“计划开始时间”、“计划结束时间”、“实际开始时间”和“实际结束时间”。这种方式最大的特点是修改方便,可以直接记录最新状态并进行重新推算;但缺点是直观性较差。制定进度计划时一般要考虑以下因素:1) 活动间约束关系。如前文介绍的网络图描述的那样,项目中的活动之间存在各种依赖关系,一些活动必须在某些活动完成后才能进行。因此进度计划首先要按依赖关系安排工作时间,这也是为