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

相关文章

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼