PMBOK® 第六版 项目进度管理知识领域

2024-09-07 22:20

本文主要是介绍PMBOK® 第六版 项目进度管理知识领域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

读后感—PMBOK第六版 目录


提到“进度”,大家都能直观理解其含义。有统计指出,现在项目的延迟交付比例越来越高,并且这一趋势持续上升。造成项目延期的原因是多方面的,常见的原因之一是在项目初期,由于时间充裕,往往会做一些与项目无关或超出项目范围的工作,导致项目后期不得不疯狂赶工。

另一种常见问题是过分关注单个活动的精确执行,而忽略了对整个项目进度的宏观把控,这种做法可能会导致团队失去对项目整体进度的全局视角。

项目进度管理旨在确保项目在规定时间内按时完成。进度问题是项目生命周期中引发冲突最多的问题之一,有效的进度管理是项目管理成功的关键要素。

项目进度管理涵盖确保项目按时完成所需的各种过程(见图1),包括:

  • 规划进度管理:制定政策、程序和文档,以规划、编制、管理、执行和控制项目进度
  • 定义活动:识别并记录为完成项目可交付成果所需的具体行动
  • 排列活动顺序:确定并记录项目活动间的相互关系
  • 估算活动持续时间:基于资源估算,确定完成单个活动所需的工作时段
  • 制定进度计划:分析活动顺序、持续时间、资源需求和进度制约因素,创建项目进度模型以指导项目执行与监控
  • 控制进度:监督项目状态,更新项目进度,并管理进度基准变更

图片

图-1 项目进度管理概述

一、核心概念

项目进度计划详尽规划了项目如何按时交付既定范围内的产品、服务与成果,作为沟通管理相关方期望的工具,并为绩效报告提供基准。

项目管理团队根据项目特性选用进度计划方法(如关键路径法或敏捷法),结合活动、日期、时长、资源、依赖关系等特定数据,利用编制工具构建进度模型,形成项目进度计划。下图(见图2)进度计划工作,展示了方法、工具与过程输出如何融合以创建进度模型。

图片

图-2 进度规划工作概述

对于小型项目,定义活动、排序、估算时长及建模等过程紧密交织,可快速由一人完成。项目期间,应保持进度计划灵活性,随知识增长、风险认知深化及增值活动设计而适时调整。

二、发展趋势和新兴实践

全球市场变化迅速且竞争激烈,不确定性与不可预测性极高,使得长期规划变得困难。因此,基于具体情境灵活应用和调整开发实践变得尤为重要。适应型规划不仅制定了初始方案,还理解到工作启动后优先级可能会发生变化,因而需要调整计划以符合新的优先级。

有关项目进度计划方法的新兴实践包括(但不限于):

  1. 具有未完项的迭代型进度计划

这是一种基于适应型生命周期的滚动式规划,如敏捷产品开发方法。需求以用户故事形式记录,并按优先级排序优化,在固定时间内开发功能。此法常用于持续交付客户价值或支持多团队并行开发。适应型生命周期允许开发过程中随时变更,因此在产品开发中广泛应用。

在敏捷开发中,需求逐渐被识别,每次发布都能获取用户真实反馈,这些反馈转化为新的用户故事加入产品待办列表。因此,许多互联网产品的开发贯穿其整个生命周期,如常用的微信,其不断更新添加小功能和变化,持续进化。

  1. 按需进度计划

按需进度计划基于团队的交付能力来限制同时进行的工作量,确保不过载。该方法源自看板和精益生产的拉动式系统,当资源可用时即时从待办事项中提取任务执行。此方法适用于运营或持续环境中以增量方式开发产品,其中任务规模和范围相对一致或可组合。

“拉动式生产”、“看板”和“精益生产”这些概念均源自丰田。传统生产方式是由前一道工序向后一道工序推送产品,若各工序效率不匹配,则会导致在制品积压,降低整体价值流效率。而精益生产则遵循“内部客户”原则,以前一道工序视后一道工序为客户的模式运作,确保后一道工序按需“取货”。这一过程从最终工序反向至初始工序,形成了拉动式生产。

例如,超市货架商品售出后逐级补货,最终指导工厂生产,以最小化浪费。

在制品(WIP)是指正在处理但未完成的工作。根据约翰·利特尔1961年的排队理论(Little’s Law),平均周期时间 = WIP数量 / 吞吐率。例如,Backlog中有50个特性,团队吞吐率为5个特性/周,则需等待10周。可见,吞吐率固定时,WIP越多,周期时间越长。为缩短周期,常采用加班或增员。

但1975年弗雷德里克·布鲁克斯在《人月神话》中指出,向延期项目增员反而会加剧延期。遗憾的是,我们常依赖增员和加班,却忽视了减少WIP的重要性。

在制品堆积会使产品开发陷入恶性循环(见图3),限制在制品数量是打破这一困境的关键。

图片

图-3 在制品堆积的噩梦

以下是优化看板流程的步骤:

  1. 将未启动的工作项退回到Backlog
  2. 将已启动但进展缓慢的工作项挂起并单独评估
  3. 限制在制品数量,并通过每轮迭代后的回顾逐步调整至与团队吞吐率匹配

我们需要按列限制在制品数量(见图4),使之符合各工序的实际资源和吞吐率。例如,“开发(5)”表示团队最多只能同时处理5个在制品。

不仅“进行中”的在制品数量需要限制,“已完成”的在制品数量也应受控。否则,开发人员在达到在制品上限后,会从前序工序(如UX设计)拉取更多在制品,这可能导致后续工序(如测试)的在制品堆积。当开发人员看到在制品已达上限时,就只能推动现有在制品向下一工序测试流动,而不能继续从上游工序UX设计拉取新任务。

图片

图-4 看板方法

裁剪考虑因素

由于每个项目都是独特的,项目经理可能需要裁剪项目进度管理过程。裁剪时应考虑以下因素:

  • 生命周期方法:哪种方法最适合详细进度计划?
  • 资源可用性:资源的可用性如何影响其可持续时间和生产效率?
  • 项目维度:复杂性、技术不确定性、产品新颖度、进度跟踪(如挣值、完成百分比、“红黄绿”指示)如何影响控制水平?
  • 技术支持:是否采用技术来制定、记录、传递、接收和存储项目进度信息,且信息是否易于获取?

敏捷/适应型环境的考虑因素

适应型方法通过短周期工作和审查来快速反馈和调整。在大型组织中,项目集需考虑团队规模、地理分布等因素,可能采用预测型、适应型或混合方法。项目经理需掌握适应型工具和技术,以管理不同生命周期的项目。

在敏捷发布规划中,软件按照版本进行发布。每个版本由若干个迭代构成,而每个迭代中又包含了若干个功能(用户故事)。进一步地,每个功能可以分解为若干个任务。(见图5)。

图片

图-5 敏捷发布规则

在敏捷开发中,团队采用滚动式规划,也被称为洋葱圈规划(图-6)。层次越低,周期越短,规划也越细致。例如,每日站会周期为 1 天;Sprint 计划通常为 1 至 4 周;版本计划周期为几周或几个月;产品路线图计划涵盖产品的整个生命周期;投资组合计划则对应组织的战略周期。

图片

图-6 洋葱圈规则

这篇关于PMBOK® 第六版 项目进度管理知识领域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146325

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.