软考高级项目进度管理记忆口诀(软考高项笔记6-3)
软考高级项目进度管理记忆口诀(软考高项笔记6-3)【参考案例计算题1——LOC法估算软件项目规模】项目经理可以根据对历史项目的审计来核算组织的单行代码价值。【实际情况】软件项目的工作量和工期的估算历来是比较复杂的事,因为软件本身的复杂性,历史经验的缺乏,估算工具缺乏,以及一些人为的错误,导致软件项目的规模估算往往和实际情况相差甚远。【工作量估算的重要性】因此,估算错误已被列入软件项目失败的四大原因之一。进度管理始于工作量的估算,工作量估算合理,工期和资源投入自然也就合理,反之,一个错误的工作量的估算会导致一个不现实的计划产生,以至进度管理失控。【衡量软件项目规模的LOC方法】软件开发项目通常用LOC( Line of Code)衡量项目规模,LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(Job Control Language,JCL)语句,数据定义、数据类型声明、等价声明、输入/输出格式声明等。
本节包括四部分:工作量和工期估计、项目活动排列顺序的技术和工具、制订项目进度计划的技术和工具、项目进度计划调整方法。
今天这节干货满满,大家一定要认真看,内容可能有点儿多,但是很全,网络图的绘制、关键活动和关键路径的判断、工期的计算与调整,明天分享项目进度的案例分析全是基于今天这节的内容作为基础。
6.3.1 工作量和工期估计
包括Delphi法、类比估算法、类比估算法、储备分析(应急储备、管理储备)
【实际情况】软件项目的工作量和工期的估算历来是比较复杂的事,因为软件本身的复杂性,历史经验的缺乏,估算工具缺乏,以及一些人为的错误,导致软件项目的规模估算往往和实际情况相差甚远。
【工作量估算的重要性】因此,估算错误已被列入软件项目失败的四大原因之一。进度管理始于工作量的估算,工作量估算合理,工期和资源投入自然也就合理,反之,一个错误的工作量的估算会导致一个不现实的计划产生,以至进度管理失控。
【衡量软件项目规模的LOC方法】软件开发项目通常用LOC( Line of Code)衡量项目规模,LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(Job Control Language,JCL)语句,数据定义、数据类型声明、等价声明、输入/输出格式声明等。
项目经理可以根据对历史项目的审计来核算组织的单行代码价值。
【参考案例计算题1——LOC法估算软件项目规模】
某软件公司统计发现该公司每一万行C语言源代码形成的源文件约为250KB。某项目的源文件大小为3.75MB,则可估计该项目源代码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000万元(包括人均工资、福利、办公费用公摊等)。则:
(1)该项目中ILOC的价值为:
(240 *10000)/150000=16元/LOC
(2)该项目的人月均代码行数为:
150000/240=625 LOC/人月
【项目工作量和工期的估计的四大方法】Delphi法、类比估算法、参数估算法、储备分析
1、Delphi法(最流行的专家评估技术)
【适用范围】在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别。专家评估技术在评定一个新软件实际成本时用得不多。但是,这种方式对决定其他模型的输入时特别有用。
【特点】鼓励参加者就问题相互讨论。要求有多种软件相关经验的人参与,互相说服对方。
【工资难点】专家“专”的程度及对项目理解程度
【七大步骤】
(1)协调人向各专家提供项目规格和估计表格。
(2)协调人召集小组会与各专家讨论与规模相关的因素。
(3)各专家匿名填写迭代表格。
(4)协调人整理出一个估计总结,以迭代表的形式返回专家。
(5)协调人召集小组会,讨论较大的估计差异。
(6)专家复查估计总结并在迭代表上提交另一个匿名估计。
(7)重复(4)-(6),直到达到一个最低和最高估计的一致。
2、类比估算法
【适用范围】适合评估一些与历史项目在应用领域,环境和复杂度等方面相似的项目,通过新项目与历史项目的比较得到规模估计。
由于类比估算法估计结果的精度取决于历史项目数据的完整性和准确度,因此,用好类比估算法的前提条件之一就是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。
【四大基本步骤】
(1)整理出项目功能列表和实现每个功能的代码行。
(2)标识出每个功能列表与历史项目的相同点与不同点,特别注意历史项目做得不够的地方。
(3)通过(1)和(2)得出各个功能的估计值。
(4)产生规模估计。
软件项目中用类比估算法,往往还要解决可重用代码的估算问题。估计可重用代码量的最好办法就是由程序员或系统分析员详细地考查已存在的代码,估算出新项目可重用的代码中需要重新设计的代码百分比、需重新编码或修改的代码百分比,以及需重新测试的代码百分比。根据这三个百分比,可用下面的计算公式计算等价新代码行:
等价代码行=【(重新设计百分比 重新编码百分比 重新测试百分比)/3】X已有代码行
【参考案例计算题2——估计可重用代码工作量】
有10 000行代码,假定30%需要重新设计,50%需要重新编码,70%需要重新测试,那么其等价的代码行可以计算为:
【(30% 50% 70%)/3】*10000=5000等价代码行
即重用这10 000代码相当于编写5000代码行的工作量。
3、参数估算法
参数估算是指利用历史数据之间的统计关系和其他变量(如建筑施工中的平方英尺),来估算诸如成本、预算和持续时间等活动参数。
最简单的参数估算就是一元一次方程,即
(1)活动持续时间=需要实施的工作量 * 完成单位工作量所需的工时
(2)活动持续时间= 需要实施的工作量 /单位工时的生产率
【案例计算3】对于设计项目,将图纸的张数 * 每张图纸所需的工时;或对于电缆铺设项目,将电缆的长度 * 铺设每米电缆所需的工时。
【案例计算4】如果所用的资源每小时能够铺设25米电缆,那么铺设1000米电缆的持续时间是40小时(1000米除以25米/小时)。
参数估算的准确性取决于参数模型的成熟度和基础数据的可靠性。
参数估算是一种基于历史数据和项目参数,使用某种算法来计算成本或工期的估算技术,可以针对整个项目或项目中的某个部分,并可与其他估算方法联合使用。
4、储备分析:应急储备、管理储备
(1)应急储备
在进行工作量或者工期估算时,需考虑应急储备(有时称为时间储备或缓冲时间),并将其纳入项目进度计划中,用来应对进度方面的不确定性。
【应急储备的定义】是包含在进度基准中一段持续时间,用来应对已经接受的已识别风险,以及已经制定应急或减轻措施的已识别风险。应该在项目进度文件中清楚地列出应急储备。
应急储备与“已知一未知”风险相关,需要加以合理估算,用于完成未知的工作量,
【应急储备估算方法】可取活动持续时间估算值的某一百分比、某一固定的时间段,或者通过定量分析来确定,如蒙特卡洛模拟法。
可以把应急储备从各个活动中剥离出来,汇总成为缓冲。随着项目信息越来越明确,可以动用、减少或取消应急储备。
(2)管理储备
【管理储备的定义】是为管理控制的目的而特别留出的项目时段,用来应对项目范围中不可预见的工作。
管理储备用来应对会影响项目的“未知-未知”风险。
管理储备不包括在进度基准中,但属于项目总持续时间的一部分。
依据合同条款,使用管理储备可能需要变更进度基准。
6.3.2 项目活动排列顺序的技术和工具
包括确定依赖关系、前导图法PDM(也称紧前关系绘图法或单代号网络图)、箭线图法ADM(活动箭线图 AOA 或双代号网络图)、提前量与滞后量
1、确定依赖关系
活动之间的依赖关系可能是强制性的或选择性的,内部或外部的。
这四种依赖关系可以组合成强制性外部依赖关系、强制性内部依赖关系、选择性外部依赖关系或选择性内部依赖关系。
(1)强制性依赖关系(又称 硬逻辑关系或硬依赖关系)
【定义】是法律或合同要求的或工作的内在性质决定的依赖关系,往往与客观限制有关。
【实际情况举例】在建筑项目中,只有在地基建成后,才能建立地面结构;在电子项目中,必须先把原型制造出来,然后才能对其进行测试。
【注意事项】在活动排序过程中,项目团队应明确哪些关系是强制性依赖关系。不应把强制性依赖关系和进度编制工具中的进度约束条件相混淆。
(2)选择性依赖关系(又称首选逻辑关系、优先逻辑关系或软逻辑关系)
【定义】基于具体应用领域的最佳实践或者是基于项目的某些特殊性质而设定。
【重点】应该对选择性依赖关系进行全面记录,因为它们会影响总浮动时间,并限制后续的进度安排。
(3)外部依赖关系(往往不在项目团队的控制范围内)
【定义】项目活动与非项目活动之间的依赖关系。
【实际案例举例】软件项目的测试活动取决于外部硬件的到货;建筑项目的现场准备,可能要在政府的环境听证会之后才能开始。
(4)内部依赖关系(通常在项目团队的控制之中)
【定义】是项目活动之间的紧前关系。
【实际案例举例】只有机器组装完毕,团队才能对其测试,这是一个内部的强制性依赖关系。
2、前导图法PDM(也称紧前关系绘图法或单代号网络图)
前导图法(Precedence Diagramming Method PDM ),是用于编制项目进度网络图的一种方法。它使用方框或者长方形(被称作节点)代表活动,节点之间用箭头连接,以显示节点之间的逻辑关系。
前导图法包括活动之间存在的4种类型的依赖关系:结束-开始(F-S)(最常用)、结束-结束(F-F)、开始-开始(S-S)、开始-结束(S-F),在PDM中,结束一开始的关系是最普遍使用的一类依赖关系。
3、箭线图法ADM(活动箭线图 AOA 或双代号网络图)提前量与滞后量
箭线图法(Arrow Diagramming Method ,ADM)是用箭线表示活动、节点表示事件的一种网络图绘制方法。
在箭线图法中,活动的开始(箭尾)事件叫作该活动的紧前事件(precede event),活动的结束(箭头)事件叫该活动的紧后事件(successorevent)。
在箭线图法中,有如下三个基本原则:
(1)网络图中每一活动和每一事件都必须有唯一的一个代号,即网络图中不会有相同的代号。
(2)任两项活动的紧前事件和紧后事件代号至少有一个不相同,节点代号沿箭线方向越来越大。
(3)流入(流出)同一节点的活动,均有共同的紧后活动(或紧前活动)。
虚活动(dummy activity)在网络图中由一个虚箭线表示。虚活动不消耗时间,也不消耗资源,只是为了弥补箭线图在表达活动依赖关系方面的不足。
【举个栗子】活动A和B可以同时进行;只有活动A和B都完成后,活动C才能开始。
4、提前量与滞后量
在活动之间加入时间提前量与滞后量,可以更准确地表达活动之间的逻辑关系。
【提前量的定义】是相对于紧前活动,紧后活动可以提前的时间量。
【实际案例1】对于一个大型技术文档,技术文件编写小组可以在写完文件初稿(紧前活动)之前15天着手第二稿(紧后活动)。在进度规划软件中,提前量往往表示为负数.。
【滞后量的定义】是相对于紧前活动,紧后活动需要推迟的时间量。
【实际案例2】为了保证混凝土有10天养护期,可以两道工序之间加入10天的滞后时间。在进度规划软件中,滞后量往往表示为正数。
【实际案例3】若活动H和活动I之间的依赖关系表示为SS 10(则表示10天滞后量H开始10天后,开始I);若活动F和活动G之间的依赖关系表示为FS 15 ( 则表示15天滞后量,F完成15天后,开始G)。
6.3.3 制订项目进度计划的技术和工具
包括制订项目计划九大步骤、关键路径法(CPM)、关键链法(CCM)、资源优化技术(资源平衡、资源平滑)、进度压缩技术(赶工、快速跟进)、计划评审技术PERT(又称三点估算技术)
【项目策划的定义】制订项目计划的过程。
计划的作用虽然不是立竿见影的,但没有计划所引起的混乱是显而易见的。
项目管理的首要目标是制订一个构思良好的项目计划,以确定项目的范围、进度和费用。在整个项目生命周期中,最基本也可以说最重要的功能之一就是项目计划,特别是在做出影响项目整个过程的主要决策的初始阶段。
1、制订项目计划九大步骤:项目描述、项目分解与活动界定、工作描述、项目组织和工作责任分配、工作排序、计算工作量、估计工作持续时间、绘制网络图、进度安排
(1)项目描述
【定义】是用一定的形式列出项目目标、项目的范围、项目如何执行、项目完成计划等内容。
【重要性】是制订项目计划和绘制工作分解结构图的依据。
【目的】对项目总体做一个概要性说明。
【依据】项目立项规划书,已经通过初步设计方案和批准的可行性研究报告
【主要内容】项目名称、项目目标、交付物、交付物完成准则、工作描述、工作规范、所需资源估计、重大里程碑等。
(2)项目分解与活动界定
为了便于制订项目各具体领域和整体计划,需将项目及其主要可交付成果分解成一些较小的,更易管理和单独完成的部分。
项目分解就是根据项目状况,采用WBS技术,将一个总体项目分解为若干项工作或活动,直到具体明确为止。
项目分解是编制项目进度计划,进行进度管理的基础,是项目管理的一项最基本的工作。
活动界定则明确实现项目目标需要进行的各项活动。(对于小项目,活动可能界定到每一个人;对于较大的、复杂的项目,个人活动一般由任务负责人或责任小组来界定。)
(3)工作描述
在项目分解的基础上,为了更明确地描述项目所包含的各项工作的具体内容和要求,需要对工作进行描述。
【依据】项目描述和项目工作分解结构。
【结果】工作描述表及项目工作列表。
(4)项目组织和工作责任分配
【目的】为了明确各部门或个人在项目中的责任,便于项目管理部门在项目实施过程中的管理协调。
【依据】项目工作分解结构图表和项目组织结构图表。
【结果】工作责任分配表
(5)工作排序
【前置性逻辑关系】为客观存在的,不变的逻辑关系
【可变的逻辑关系(又称组织关系】随着人为约束条件的变化而变化,随着实施方案、人员配置、资源供应条件的变化而变化,
(6)计算工作量
根据项目分解情况,计算各工作或活动的工作量,包括工作的内容、工作开展的前提条件、工作量、所需的资源等。
(7)估计工作持续时间
【定义】指在一定的条件下,直接完成该工作所需时间与必要停歇的时间之和。
工作持续时间是计算其他网络参数和确定项目工期的基础。
(8)绘制网络图
依据项目工作关系表,通过网络图的形式将项目的工作关系表达出来。
(9)进度安排
在完成项目分解、确定各项工作和活动先后顺序,计算工作量估计出各项工作持续时间的基础上,即可安排项目的时间进度。
项目进度计划阶段一般还要同时制订其他专项计划,如质量保证计划、配置管理计划等。
2、关键路径法(CPM)
【定义】是借助网络图和各活动所需时间(估计值),计算每一项活动的最早或最迟开始和结束时间。
【CPM法的关键】是计算总时差,这样可决定哪一活动有最小时间弹性。
【CPM算法的核心思想】是将工作分解结构(WBS)分解的活动按逻辑关系加以整合,统筹计算出整个项目的工期和关键路径。
【关键活动定义】最早开始时间和最晚开始时间相等的活动(即ES=LS)
【关键路径定义】关键活动串联起来的路径。
【总浮动时间的计算】总浮动时间=LF-EF=LS-ES(关键活动的总浮动时间为0)
【自由浮动时间的计算】自由浮动时间=紧后活动的ES
关键路径是项目中时间最长的活动顺序,决定着可能的项目最短工期。
3、关键链法(CCM)
关键链法(CCM)是一种进度规划方法,允许项目团队在任何项目进度路径上设置以应对资源限制和项目的不确定性。
4、资源优化技术:资源平衡、资源平滑
(1)资源平衡(Resource Leveling)
为了在资源需求与资源供给之间取得平衡,根据资源制约对开始日期和结束日期进行调整的一种技术。
资源平衡往往导致关键路径改变,通常是延长。
(2)资源平滑(Resource Smoothing)
对进度模型中的活动进行调整,从而使项目资源需求不超过预定的资源限制的一种技术。
相对于资源平衡而言,资源平滑不会改变项目关键路径,完工日期也不会延迟。
活动只在其自由浮动时间和总浮动时间内延迟。因此,资源平滑技术可能无法实现所有资源的优化。
5、进度压缩技术:赶工、快速跟进
(1)赶工
主要针对关键路径上的活动,通过增加资源,以最小的成本增加来压缩进度工期的一种技术。
赶工并非总是切实可行,它可能导致风险和/或成本的增加。
(2)快速跟进
将正常情况下按顺序进行的活动或阶段改为至少是部分并行开展。
它只适用于能够通过并行活动来缩短项目工期的情况。
6、计划评审技术PERT(又称为三点估算技术)
计划评审技术(Program Evaluation and Review Technique,PERT) 其理论基础是假设项目持续时间,以及整个项目完成时间是随机的,且服从某种概率分布。
PERT可以估计整个项目在某个时间内完成的概率。
PERT和CPM在项目进度规划中应用非常广。
(1) 活动时间估计
【案例计算】
各活动的期望工期、方差、标准差计算如下:
(2)项目周期估算
【假设条件】PERT认为整个项目的完成时间是各个活动完成时间之和,且服从正态分布。
接上题计算结果,则整个项目完成时间t的数学期望T和方差分别为:
6.3.4 项目进度计划调整方法
包括分析进度偏差、项目进度计划的调整(关键活动调整法、非关键活动调整法、增减工作项目法、资源调整法)
1、分析进度偏差
(1) 分析产生进度偏差的工作是否为关键活动。
(2) 分析进度偏差是否大于总时差。
(3) 分析进度偏差是否大于自由时差。
2、项目进度计划的调整
项目进度计划的调整往往是一个持续反复的过程,一般有以下几种方法:
(1)关键活动调整法
① 若关键活动的实际进度较计划进度提前,选择后续关键活动中资源消耗量大或直接费用高的予以适当延长,延长的时间不应超过已完成的关键活动提前的量。
②若关键活动的实际进度较计划进度落后,调整的方法主要是缩短后续关键活动的持续时间。
(2)非关键活动调整法
当非关键路径上某项工作持续时间延长,但不超过其时差范围时,则不会影响项目工期,进度计划不必调整。
非关键活动的调整方法有三种:在总时差范围内延长非关键活动的持续时间、缩短工作的持续时间、调整工作的开始或完成时间。
当非关键线路上某项工作持续时间延长而超出总时差范围时,则必然影响整个项目工期,关键路径就会转移。这时,其调整方法与关键线路的调整方法相同。
(3) 增减工作项目法
增减工作项目,只能改变局部的逻辑关系。
① 增加工作项目,只对原遗漏或不具体的逻辑关系进行补充;
②减少工作项目,只对提前完成的工作项目或原不应设置的工作项目予以消除。
增减工作项目后,应重新计算网络时间参数,以分析此项调整是否对原计划工期产生影响,若有影响,应采取措施使之保持不变。
(4) 资源调整法
若资源供应发生异常时,应进行资源调整。资源供应发生异常是指因供应满足不了需要,如资源强度降低或中断,影响到计划工期的实现。
【资源调整的前提】是保证工期不变或使工期更加合理。
【资源调整的方法】是进行资源优化。
上一篇:软考高项学习笔记|6-2-2 项目进度管理七大过程
推荐:2021上半年软考真题及参考答案解析(四)