目录
读后感—PMBOK第六版 目录
在项目管理中,尤其是在软件开发这样的复杂项目中,工作内容是多种多样的。从需求分析、设计、编码到测试和部署,每个阶段都有其独特的挑战和不确定性。
没有人能独自完成所有估算工作并做到绝对精准。估算涉及多方面知识和经验,需要跨职能团队的合作。过多参与者可能导致效率低下和意见不一致,关键在于找到平衡点,确保估算团队既具有代表性又高效运作。
估算是一个持续的过程。随着项目的推进,新信息不断涌现,原先的假设可能发生变化。因此,团队需要定期回顾并更新估算结果,以反映最新情况。这种持续性的估算有助于为下一步工作制定更准确的计划。
做估算是团队的一次凝聚过程,不仅有助于确定每个活动所需的时间,还促进了团队成员之间的沟通和理解。通过共同参与估算,团队成员可以更好地了解彼此的角色和责任,从而增强协作。此外,估算过程也是识别潜在问题和风险的好机会。通过讨论可能出现的问题及其对项目的影响,团队可以提前采取措施避免或减轻这些风险。
估算不仅仅是计算时间,它还是促进团队合作、提高项目透明度、及时识别和处理风险的重要环节。通过综合运用多种估算方法,并结合实际项目进展不断调整,项目团队可以更有效地规划和控制项目进度。
一、估算活动持续时间的内容
估算活动持续时间是依据资源估算结果,估算完成单项活动所需工作时段数的过程,主要作用是确定完成每个活动所需时间量,需在整个项目期间开展(见图1)。
图-1 估算活动持续时间:数据流程图
此过程依据的信息包括工作范围、所需资源类型与技能水平、估算的资源数量和资源日历等,可能影响持续时间估算的其他因素有持续时间约束、人力投入、资源类型及进度网络分析技术等。由项目团队中最熟悉具体活动的个人或小组提供输入,持续时间估算应渐进明细。
先估算完成活动所需工作量和资源数量,结合项目与资源日历估算活动持续时间。更改主导性资源通常影响持续时间,但非简单线性关系。
例如,有时因工作特性(受持续时间、人力投入或资源数量约束),无论资源如何分配(如 24 小时应力测试),都需预定时间完成工作。估算持续时间需考虑其他因素。
-
收益递减规律:指其他投入固定不变时,连续地增加某一种投入,所新增的产出最终会减少的规律。该规律另一种等价的说法是:超过某一水平之后边际投入的边际产出下降
图-2 边际收益递减规律
-
资源数量:资源数量加倍不一定使时间减半,可能因风险或知识传递、学习曲线、额外合作等因素使持续时间增加
图-3 学习经验曲线
-
技术进步:在确定持续时间估算时起重要作用,如采购新技术可提高产量,影响持续时间和资源需求
-
员工激励:项目经理需了解“学生综合症” (即拖延症)和帕金森定律,前者指人们在最后一刻才全力以赴,后者指工作会不断扩展直至用完时间
所有用于估算活动持续时间的数据与假设都应记录在案,以确保透明度和可追溯性。
二、估算活动持续时间
估算活动持续时间是项目时间管理的关键过程,涉及以下主要组成部分:输入包括项目管理计划(如进度管理计划和范围基准)、项目文件(如活动清单、资源日历等)、事业环境因素和组织过程资产;工具和技术包括专家判断、类比估算、参数估算、三点估算、数据分析(如备选方案分析、储备分析)以及决策和会议;输出包括活动的持续时间估算、估算依据和支持性细节,以及更新的项目文件(见图4)。
图-4 活动持续时间:输入、工具与技术和输出
2.1 估算活动持续时间:输入
- 项目管理计划
项目管理计划组件包括(但不限于):
- 进度管理计划:规定了用于估算活动持续时间的方法和准确度,以及所需的其他标准
- 范围基准:包含 WBS 词典,后者包括可能影响人力投入和持续时间估算的技术细节
- 项目文件
可作为本过程输入的项目文件包括(但不限于):
- 活动属性:可能描述了确定的紧前或紧后关系、定义的提前量与滞后量以及可能影响持续时间估算的活动之间的逻辑关系
- 活动清单:列出了项目所需的、待估算的全部进度活动,这些活动的依赖关系和其他制约因素会对持续时间估算产生影响
- 假设日志:所记录的假设条件和制约因素有可能生成一个会影响项目进度的风险
- 经验教训登记册:与人力投入和持续时间估算有关的经验教训登记册可以运用到项目后续阶段,以提高人力投入和持续时间估算的准确性
- 里程碑清单:可能已经列出特定里程碑的计划实现日期,这可能影响持续时间估算
- 项目团队派工单:将合适的人员分派到团队,为项目配备人员
- 资源分解结构:按照资源类别和资源类型,提供了已识别资源的层级结构
- 资源日历:其中的资源可用性、资源类型和资源性质,都会影响进度活动的持续时间。资源日历规定了在项目期间特定的项目资源何时可用及可用多久
- 资源需求:估算的活动资源需求会对活动持续时间产生影响。对于大多数活动来说,所分配的资源能否达到要求,将对其持续时间有显著影响。例如,向某个活动新增资源或分配低技能资源,就需要增加沟通、培训和协调工作,从而可能导致活动效率或生产率下降,由此需要估算更长的持续时间
- 风险登记册:单个项目风险可能影响资源的选择和可用性。风险登记册的更新包括在项目文件更新中
- 事业环境因素
能够影响估算活动持续时间过程的事业环境因素包括(但不限于):
- 持续时间估算数据库和其他参考数
- 生产率测量指标
- 发布的商业信息
- 团队成员的所在地
- 组织过程资产
能够影响估算活动持续时间过程,包括(但不限于):
- 关于持续时间的历史信息
- 项目日历
- 估算政策
- 进度规划方法论
- 经验教训知识库
2.2 估算活动持续时间:工具与技术
2.2.1 专家判断
由具备相关专业知识或接受过相关培训的个人或小组针对以下主题给出意见。
- 进度计划的编制、管理和控制
- 有关估算的专业知识
- 学科或应用知识
2.2.2 类比估算
类比估算是利用历史数据和类似项目的经验(组织过程资产)来估算当前活动或项目的持续时间或成本的技术。它基于过去类似项目的参数值(如持续时间、预算、规模、复杂性等),来估算未来项目的同类参数。在估算持续时间时,类比估算以过去类似项目的实际持续时间为依据,来预测当前项目的持续时间。这是一种粗略的估算方法,尤其适用于项目详细信息不足的情况。
类比估算通常成本较低、耗时较少,但准确性也相对较低。它可以在整个项目或项目中的某个部分进行,也可以与其他估算方法联合使用。如果以往活动本质上相似,并且估算人员具备必要的专业知识,类比估算将更为可靠。
例如,如果不知道开发新软件中的支付功能需要多长时间,可以参照以往类似项目中支付功能开发的记录来进行类比。类比估算又称为自上而下估算,是一种经济高效的估算方法,常用于项目的早期阶段。尽管其准确度不高,但在缺乏详细信息时,它是快速获得初步估算的有效手段。
2.2.3 参数估算
参数估算是基于历史数据和项目参数,使用算法来计算成本或持续时间的技术。它利用历史数据的统计关系和其他变量(如建筑施工中的平方英尺)来估算成本、预算和持续时间等活动参数。具体步骤是将工作量乘以单位工作量所需的工时,从而得出总持续时间。
例如,在设计项目中,可以将图纸张数乘以每张图纸所需工时;在电缆铺设项目中,可以将电缆长度乘以每米所需工时。如果资源每小时能铺设25米电缆,那么铺设1000米电缆的持续时间是40小时。
参数估算的准确性取决于模型的成熟度和基础数据的可靠性。该方法可应用于整个项目或部分项目,并可与其他估算方法结合使用。
例如,在房屋建筑项目中,可以通过垂直运输能力和混凝土供应能力来预测每层楼的完成时间。参数估算对模型的成熟度和输入参数的准确性要求极高,因此在使用时需确保数据质量和模型的有效性。
2.2.4 三点估算
三点估算起源于计划评审技术(PERT),利用活动的最乐观时间(O)、最可能时间(M)、最悲观时间(P)这三个持续时间来计算概率分布均值(期望值 Tₑ)。
- β分布
β分布期望值计算公式:Tₑ= ( O+4M+P ) /6。
例如,一项活动最乐观时间( O)为3天、最可能时间(M)为6天、最悲观时间(P)为15天,那么用β分布计算期望值是几天? 如果按照β分布计算期望值,那么期望值为7天(见图5)。
图-5 贝塔(β)分布计算
- 三角分布
三角分布期望值计算公式:Tₑ=(O+M+P)/3。
三角分布是把最乐观、最可能和最悲观的值用直线相连,形成一个三角形的概率分布。三角分布期望值计算与β分布期望值计算不同,三角分布期望值是O、M、P这3个值的平均数。一项活动最乐观时间(O)为3天、最可能时间(M)为6天、最悲观时间§为15天,根据三角分布期望值计算公式,我们可以得到期望值为8天(见图6)。
图-6 三角分布
- 正态分布
正态分布具有以期望值为对称轴,呈左右对称分布的规律。在这种分布中,期望值与最可能的值(即概率最高的值)重合(见图7)。
图-7 正态分布
如图下图所示(见图8),±1σ 包围的面积(概率)等于 68.26%。
图-8 正态分布左右各1个标准差
如图下图所示(见图9),±2σ 包围的面积(概率)等于 95.46%。
图-9 正态分布左右各2个标准差
如图下图所示(见图10),±3 a包围的面积(概率)等于99.73%。
图-10 正态分布左右各3个标准差
如下图所示(见图11),期望值是 6 天,标准差是 1 天。7 天之内完成该项工作的概率为从概率曲线最左端一直到 7 天的所有阴影面积(蓝色+红色)。蓝色部分代表 50%的概率,要确定红色部分代表的概率。红色部分正好是左右各一倍标准差所代表的面积的一半,所以团队在 7 天之内完成的概率就是 84.13%(50% + 68.26%÷2)。
图-11 正态分布例题计算1
同理,如下图所示(见图12),可得出 5 天之内完成该项工作的概率为15.87%。
图-12 正态分布例题计算2
2.2.5 自下而上估算
自下而上估算是一种详细的项目持续时间或成本估算方法,它通过将工作分解结构(WBS)中每个活动的估算结果逐层向上汇总来得出整个项目的估算。这种方法要求首先对单个活动进行详细估算,然后将这些估算汇总到工作包,再进一步汇总至控制账户,直至整个项目层面。虽然自下而上估算过程繁琐、耗时且成本较高,但它提供了较为准确和可靠的项目持续时间估算,尤其适用于对项目细节有深入了解的情况。此外,这种方法还有助于识别和说明活动间的依赖关系及其对资源利用的影响。
以下是五种常用估算方法的对比,如下表所示(见表 1)。
专家判断 | 类比估算 | 参数估算 | 三点估算 | 自下而上估算 | |
---|---|---|---|---|---|
成本 | 较低 | 低 | 低 | 较高 | 高 |
准确度 | - | 低 | - | 较高 | 高 |
活动 | √ | √ | √ | ||
工作包 | √ | √ | √ | √ | √ |
子项目/项目 | √ | √ | √ | √ |
表-1 五种常用估算方法对比
2.2.6 数据分析
可用作本过程的数据分析技术包括(但不限于):
- 备选方案分析
定义:备选方案分析用于比较不同的资源能力或技能水平、进度压缩技术(如:赶工和快速跟进)、不同工具(手动和自动),以及关于资源的创建、租赁和购买决策。
目的:帮助团队权衡资源、成本和持续时间变量,以确定完成项目工作的最佳方式。通过这种分析,团队可以评估不同方案的优劣,选择最合适的资源配置和方法来优化项目进度。
- 储备分析
定义:储备分析用于确定项目所需的应急储备量和管理储备。
应急储备:
- 用途:应急储备是包含在进度基准中的一段持续时间,用来应对已经识别的风险和不确定性
- 特点:与“已知-未知”风险相关,需要合理估算,用于应对可能发生的未知工作量。应急储备可以取活动持续时间估算值的某一百分比或某一固定的时间段,也可以从各个活动中剥离出来并汇总
- 调整:随着项目信息越来越明确,可以动用、减少或取消应急储备,并应在项目进度文件中清楚列出应急储备
管理储备:
- 用途:管理储备是为管理控制的目的而特别留出的项目预算,用来应对项目范围中不可预见的工作。
- 特点:与“未知-未知”风险相关,不包括在进度基准中,但属于项目总持续时间的一部分。
- 使用:依据合同条款,使用管理储备可能需要变更进度基准。
这两种数据分析技术有助于项目团队更全面地考虑各种不确定性和风险(见表2),从而制定出更加准确和可靠的项目进度计划。备选方案分析提供了多种资源配置和进度安排的选择,而储备分析则确保项目有足够的缓冲时间来应对潜在的风险和不确定性。
应急储备 | 管理储备 | |
---|---|---|
支配者 | 项目经理 | 高层管理者 |
应对风险类型 | “已知-未知”风险 | “未知-未知”风险 |
是否包含在进度基准中 | 是 | 否 |
表-2 应急储备与管理储备的区别
2.2.7 决策
适用于本过程的决策技术包括(但不限于)投票。举手表决是从投票方法衍生出来的一种形式,在敏捷项目中经常被采用。运用这种技术时,项目经理让团队成员针对某个决定示意支持程度,举拳头表示不支持,伸五个手指表示完全支持,伸出三个以下手指的团队成员有机会与团队讨论其反对意见。项目经理会持续进行举手表决,直至整个团队达成共识(所有人都伸出三个以上手指)或者同意进入下一个决定。
2.2.8 会议
项目团队可能会召开会议来估算活动持续时间。若采用敏捷方法,则有必要举行冲刺或迭代计划会议,以对按优先级排序的产品未完项(用户故事)进行讨论,并决定团队在下一个迭代中致力于解决哪个未完项。随后,团队将用户故事分解为以小时估算的底层级任务,再根据团队在持续时间(迭代)方面的能力确认估算是否可行。该会议通常在迭代的第一天举行,参会者包括产品负责人、开发团队和项目经理,会议结果涵盖迭代未完项、假设条件、关注事项、风险、依赖关系、决定以及行动。
2.3 估算活动持续时间:输出
- 持续时间估算
持续时间估算是对完成某项活动、阶段或项目所需的工作时段数的定量评估,其中并不包括任何滞后量,但可指出一定的变动区间。例如:
- “2 周 ±2 天”,这表明活动至少需要 8 天,最多不超过 12 天(假定每周工作 5 天)
- “超过 3 周的概率为 15%”,这表明该活动将在 3 周内(含 3 周)完工的概率为 85%
- 估算依据
持续时间估算所需的支持信息的数量和种类因应用领域的不同而有所差异。无论其详细程度如何,支持性文件都应当清晰、完整地说明持续时间估算是如何得出的。
持续时间估算的支持信息可包括:
- 关于估算依据的文件(如估算是如何编制的)
- 关于全部假设条件的文件
- 关于各种已知制约因素的文件
- 对估算区间的说明(如 “±10%”),以指出预期持续时间的所在区间
- 对最终估算的置信水平的说明
- 有关影响估算的单个项目风险的文件
- 项目文件更新
可在本过程更新的项目文件包括(但不限于):
- 活动属性:本过程输出的活动持续时间估算将记录在活动属性中
- 假设日志:这包括为估算持续时间而制定的假设条件,如资源的技能水平、可用性以及估算依据,此外还记录了进度计划方法论和进度计划编制工具所带来的制约因素
- 经验教训登记册:在更新经验教训登记册时,可以增加能够有效和高效地估算人力投入和持续时间的技术
三、敏捷场景下的活动历时估算
如下图所示(见图13),敏捷估算扑克由一组斐波那契数列的数字和符号组成,这些数字包括 0、1/2、1、2、3、5、8、13、20、40、?、∞,其中,“?” 代表无法判断。每副扑克都有四组这样的数字,可供 4 个人使用。倘若参与估算的人数多于 4 个人,那么可以使用两副扑克,人数最好控制在 3 至 8 人,因为若人数过少,估算准确度低;若人数过多,估算效率低。
图-13 敏捷扑克牌
敏捷估算扑克的使用方法如下:
- 每个团队成员拿到一组卡片,包括 0、1/2、1、2、3、5、8、13、20、40、?、∞,共计 12 张。
- 寻找一个大家都熟悉的一个最小的功能作为参考基准,例如,每个软件几乎都要用到的 “用户注册” 功能,把它的工作量定义为 1 个故事点。
- 产品负责人或者一名团队成员扮演阅读者的角色,负责阅读需要估算的产品待办事项列表中的条目,并且询问大家是否有疑问。
- 团队讨论这个条目
- 当团队理解了这个条目之后,每个团队成员按照自己的想法给出估算结果,并且选择对应的扑克出牌。例如,如果团队成员认为这个条目的开发工作量是参考基准 “用户注册”(1 个故事点)的 5 倍,就选数字为 5 的扑克牌,表示 5 个故事点。团队成员先不公开估算结果,而是将牌面朝下扣在桌面上
- 阅读者向大家确认是否都已估算完毕,在所有人都出牌之后,大家同时亮牌展示估算结果
- 出最小牌和最大牌的两位成员分别向大家阐述理由
- 回到第 4 步,重复第 4 步至第 7 步,直到大家的结果一致或只剩下相邻的两个数字,比如 5 和 8,就取较大值 8 结束这个条目的估算
使用敏捷估算扑克这种方法的好处如下:
- 团队成员都能平等参与、独立思考并表达自己的观点
- 通过每一位团队成员的参与,使知识和经验得到更好的分享
- 采用故事点的方式便于团队成员理解,可以更高效地达成共识