项目进度管理(5-1)常见的缓冲区监控方法
缓冲区监控是一种项目管理技术,主要用于关键链项目管理系统(Critical Chain Project Management, CCPM)中。它的核心理念是识别和管理项目中的不确定性和依赖性,以提高项目完成的可靠性。
缓冲区监控方法主要是针对项目进度计划执行阶段的监控。通过实时监测缓冲区的消耗情况,可以及时判断项目的进度是否正常,从而为后续的进度管理提供决策依据。
那么,为什么要使用缓冲区监控方法呢?主要是以下一些原因:
- 管理不确定性:项目中存在许多不确定性因素,如资源可用性、技术问题、供应商延迟等。缓冲区监控帮助项目经理识别这些不确定性,并采取措施来减轻它们对项目进度的影响。
- 提高适应性:通过监控缓冲区,项目经理可以更灵活地应对项目中出现的意外情况,及时调整计划以适应变化。
- 优化资源分配:缓冲区监控可以帮助项目经理更好地理解资源需求,从而优化资源分配,避免资源浪费或过度紧张。
- 减少项目延误:通过实时监控缓冲区的消耗,项目经理可以及时发现潜在的延误风险,并采取措施来避免或减少延误。
- 增强项目可预测性:通过监控缓冲区,项目经理可以更准确地预测项目的完成时间,从而提高项目交付的可预测性。
- 促进团队协作:缓冲区监控要求团队成员之间有更高的透明度和沟通,这有助于增强团队协作和信任。
- 提高项目成功率:通过有效管理缓冲区,可以减少项目失败的风险,提高项目成功完成的概率。
- 支持持续改进:缓冲区监控提供了关于项目执行过程中哪些方面表现良好、哪些需要改进的反馈,有助于持续改进项目管理过程。
总之,缓冲区监控是一种有效的项目管理工具,它可以帮助项目经理更好地应对项目中的复杂性和变化性,从而提高项目的整体表现和成功率。
接下来我们来看看,有哪些常见的缓冲区监控方法👇。
1 静态缓冲区监控方法
“三色监控法”是 Goldratt 提出的一种较为直观的缓冲管理机制,主要是通过绿、黄、红三种颜色来表示项目执行过程中缓冲剩余情况的标识,这是一种绝对的、静态的缓冲监控方法(Static Buffer Monitoring Approach,SBMA)。缓冲的监控本质上是基于两个触发点:绿区和黄区的分界点,黄区和红区的分界点。如下图所示:

这种方法依据项目计划阶段确定的缓冲大小直接进行监控,其本意是为了提供一种简单而直观的方式来衡量项目的进展情况。然而,在实际项目执行的复杂环境中,往往会出现各种意外和变数。在项目即将结束的关键时刻,却发现缓冲区已经耗尽,这无疑给项目的顺利完成带来了巨大的挑战和压力。此时,原本被寄予厚望的三色监控法可能会产生错误的预警。因为它是基于设定的缓冲大小来判断项目的状态,而无法准确反映实际情况中的各种复杂因素。这种错误的预警可能导致团队做出不恰当的决策,进一步加剧项目的风险和不确定性。
2 动态缓冲区监控方法
为解决“三色监控法”错误预警的问题,Leach提出缓冲监控的触发点位置可以随着项目进度变化而变化的相对监控法,防止缓冲监控点较低而发出错误的预警。当关键链或非关键链活动完成比例较少时,将两个触发点设置低一些。反之,将两个触发点设置高一些,随着链的完成两条触发线是线性增加的。这种方法被称为相对缓冲监控法(Relative Buffer Monitoring Approach,RBMA)。触发点设置如下图所示:

这一设置考虑了随着项目进展,整体不确定性降低这一特点,减少了发出错误预警信息的情况,但是具体监控数值都是根据项目开发人员的经验估计得到的。这种仅凭经验估计的方式存在着一定的局限性和风险。由于项目的复杂性和多样性,项目成员的经验可能并不完全适用,导致触发线的设置不够准确。这可能会影响到对项目进度的准确监控和管理,无法及时发现问题并采取更为有效的措施。
3 相对缓冲区监控方法
相对缓冲监控法的基础上动态更新缓冲大小的方法,这种方法被称为动态缓冲监控法(Dynamic Buffer Monitoring Approach,DBMA),该方法通过动态更新缓冲大小,能够灵活地适应项目中各种变化和需求。与传统的缓冲区监控方法相比,动态缓冲监控法具有明显的优越性。它不仅仅是简单地依据预定的规则或参数来设置缓冲大小,而是能够根据实际情况进行实时调整。这使得该方法更加智能和适应性强,能够更好地应对复杂多变的项目环境。该缓冲区监控方法触发点设置如下图所示:

针对虚拟现实SDK研发项目的实际情况,基于动态缓冲监控法做出调整,采用了3个触发点并重新定义了绿、黄、红三种颜色对应缓冲区的处理方式。如果监控过程中 越过触发点1,但未越过触发点2,则说明进度管理较为安全;如果 越过触发点2,但未越过触发点3,则说明进度管理需要被警告并严肃对待; 越过触发点3,则说明进度管理非常严峻,应该被非常重视。
4 关键链项目管理方法中的缓冲区管理
这种方法通过项目缓冲区消耗百分比和关键链上任务的完成率两个指标来判断是否应采取追赶进度的措施。项目状态用三种颜色表示:红色表示延期风险大,必须采取措施;黄色表示有延期风险,需要考虑措施;绿色表示进展良好,无需措施。效果上和 相对缓冲区监控方法上相似,触发点设置如下图所示:

在关键链项目管理(CCPM)中,绿色、黄色和红色区域的定义通常基于项目缓冲区消耗百分比和关键链上任务完成率的特定阈值。这些阈值用于确定项目是否处于安全区域或非安全区域,并指导项目管理者采取相应的行动。以下是这些颜色区域的一般定义
绿色区域(Green Zone):
- 表示项目进度符合或超过计划,缓冲区消耗低于预定的安全阈值。
- 关键链任务的完成率高于预定的百分比,通常接近或达到计划的完成率。
黄色区域(Yellow Zone):
- 表示项目进度存在一定的风险,缓冲区消耗在安全阈值和警告阈值之间。
- 关键链任务的完成率可能略低于预期,但项目仍有时间回到正轨。
红色区域(Red Zone):
- 表示项目进度存在严重风险,缓冲区消耗超过了警告阈值。
- 关键链任务的完成率远低于预期,项目面临延期的可能性很大。
具体的阈值可能因项目和组织而异,但通常这些阈值是这样设定的:
-
绿色区域可能定义为项目缓冲消耗在0%到某个较低百分比(例如33%)之间,关键链任务完成率高于某个百分比(例如66%)。
-
黄色区域可能定义为项目缓冲消耗在较低百分比到较高百分比(例如33%到66%)之间,关键链任务完成率在安全和警告阈值之间。
-
红色区域可能定义为项目缓冲消耗超过较高百分比(例如超过66%),或者关键链任务完成率远低于预期。
这些颜色区域的设置可以根据项目的具体需求和风险偏好进行调整。项目管理者可以使用这些颜色区域作为一个直观的指示器,快速识别项目状态,并决定是否需要采取措施来调整项目计划或增加资源以避免延期。
相关文章:
项目进度管理(5-1)常见的缓冲区监控方法
缓冲区监控是一种项目管理技术,主要用于关键链项目管理系统(Critical Chain Project Management, CCPM)中。它的核心理念是识别和管理项目中的不确定性和依赖性,以提高项目完成的可靠性。 缓冲区监控方法主要是针对项目进度计划执…...
构造函数语意学(The Semantics of Constructors)
1、“Default Constructor” 的构造操作 下面4种情况编译器会生成默认构造函数: 成员类对象带有默认构造函数父类带有默认构造函数带有虚表的类带有虚基类的类 1.1、 成员类对象带有默认构造函数 如果一个类没有任何构造函数,但它的一个成员对象带有…...
香橙派5plus上跑云手机方案二 waydroid
前言 上篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)说了怎么跑带GPU加速的redroid方案,这篇说下怎么在香橙派下使用Waydroid。 温馨提示 虽然能运行,但是体验下来只能用软件加速,无法使用GPU加速,所有会很卡。而且…...
600Kg大载重起飞重量多旋翼无人机技术详解
600Kg大载重起飞重量的多旋翼无人机是一种高性能的无人驾驶旋翼飞行器,具有出色的载重能力和稳定的飞行特性。该无人机采用先进的飞行控制系统和高效的动力系统,能够满足各种复杂任务的需求,广泛应用于物资运输、应急救援、森林防火等领域。 …...
LlamaFactory可视化微调大模型 - 参数详解
LlamaFactory 前言 LLaMA Factory 是一个用于微调大型语言模型的强大工具,特别是针对 LLaMA 系列模型。 可以适应不同的模型架构和大小。 支持多种微调技术,如全参数微调、LoRA( Low-Rank Adaptation )、QLoRA( Quantized LoRA )等。 还给我们提供了简单实用的命令行…...
最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 版本)
资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…...
C语言笔记31 •单链表经典算法OJ题-3.反转链表•
反转链表 1.问题 给你单链表的头节点 head,请你反转链表,并返回反转后的链表。 2.代码实现: //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …...
网桥与以太网交换机:功能与区别解析
在传统的共享式局域网中,所有站点共享一个公共的传输媒体。随着局域网规模的扩大、网络中站点数目的不断增加,这样的网络通信负载加重,网络效率急剧下降。随着技术的发展、交换技术的成熟和成本的降低,具有更高性能的交换式局域网…...
动态引用的艺术:在Postman中实现自动化的终极指南
🌀 动态引用的艺术:在Postman中实现自动化的终极指南 在API开发和测试中,Postman是一个强大的工具,它提供的动态引用功能可以帮助我们实现自动化和更高效的测试流程。本文将深入探讨如何在Postman中使用动态引用,通过…...
Qt:15.布局管理器(QVBoxLayout-垂直布局、QHBoxLayout-水平布局、QGridLayout-网格布局、拉伸系数,控制控件显示的大小)
目录 一、QVBoxLayout-垂直布局: 1.1QVBoxLayout介绍: 1.2 属性介绍: 1.3细节理解: 二、QHBoxLayout-水平布局: 三、QGridLayout-网格布局: 3.1QGridLayout介绍: 3.2常用方法:…...
图论---无向图中国邮路的实现
开始编程前分析设计思路和程序的整体的框架,以及作为数学问题的性质: 程序流程图: 数学原理: 本质上是找到一条欧拉回路,考虑图中的边权重、顶点的度数以及如何通过添加最少的额外边来构造欧拉回路,涉及到欧…...
Rockchip RK3588 - Rockchip Linux SDK脚本分析
---------------------------------------------------------------------------------------------------------------------------- 开发板 :ArmSoM-Sige7开发板eMMC :64GBLPDDR4 :8GB 显示屏 :15.6英寸HDMI接口显示屏u-boot &a…...
【C++中resize和reserve的区别】
1. resize的用法 改变当前容器内含有元素的数量(size())比如: vector<int> vct;int num vct.size();//之前的元素个数为num vct.resize(len);//现在的元素个数为len如果num < len ,那么容器vct新增len - num个元素&am…...
计算机毕业设计Python深度学习游戏推荐系统 Django PySpark游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设
本论文的主要研究内容如下: 了解基于Spark的TapTap游戏数据分析系统的基本架构,掌握系统的开发方法,包括系统开发基本流程、开发环境的搭建、测试与运行等。 主要功能如下: (1)用户管理模块:…...
Python面试题:如何在 Python 中进行正则表达式操作?
在 Python 中,正则表达式操作可以通过 re 模块来实现。以下是一些常用的正则表达式操作和示例: 1. 导入模块 import re2. 常见操作和示例 a. 匹配 使用 re.match() 来检查字符串的开头是否匹配某个模式。 pattern r\d # 匹配一个或多个数字 strin…...
C#面:简述什么是中间件(Middleware)?
中间件是组装到应⽤程序管道中以处理请求和响应的软件。 每个组件: 选择是否将请求传递给管道中的下⼀个组件。 可以在调⽤管道中的下⼀个组件之前和之后执⾏⼯作。 请求委托(Request delegates)⽤于构建请求管道,处理每个HTTP请…...
AWS Glue 与 Amazon Redshift 的安全通信配置
1. 引言 在 AWS 环境中,确保服务间的安全通信至关重要。本文将探讨 AWS Glue 与 Amazon Redshift 之间的安全通信配置,特别是为什么需要特定的安全组设置,以及如何正确实施这些配置。 2. 背景 AWS Glue:全托管的 ETL(提取、转换、加载)服务Amazon Redshift:快速、完全…...
nginx访问控制
最近部署consul服务,发现consul认证配置比较麻烦,于是上网查询发现nginx支持路由认证,在此做个记录。 1.Nginx访问控制模块类型 基于IP的访问控制:http_access_module基于用户的信任登录:http_auth_basic_module 2.…...
高效应对网络攻击,威胁检测响应(XDR)平台如何提升企业应急响应能力
在数字化时代,企业面临的网络攻击威胁持续增加,如恶意软件、勒索软件、钓鱼攻击、DDoS攻击等。这些威胁不仅危及企业数据安全、系统稳定,还损害了品牌形象和市场信任。随着云计算、大数据、物联网的广泛应用,企业网络攻击面扩大&a…...
多线程问题
什么是线程 线程是cpu调度和执行的单位,一个程序的运行伴随着的是一个进程的执行,而一个进程是由一个或多个线程来完成的,通过cpu调度资源在很短时间切换主线程和子线程并行,交替执行来做到看似多个线程同时进行的状态࿰…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx
“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网(IIoT)场景中,结合 DDS(Data Distribution Service) 和 Rx(Reactive Extensions) 技术,实现 …...
