热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

关键链—突破项目管理的瓶颈_TOC(制约理论)项目管理

“项目遵循2规律。花费双倍的时间,双倍的预算,承诺的内容也是实际交付结果的两倍。”--------《可行愿景》项目管理是管理学的一个分支学科࿰

“项目遵循2³规律。花费双倍的时间,双倍的预算,承诺的内容也是实际交付结果的两倍。” -------- 《可行愿景》

项目管理是管理学的一个分支学科 ,对项目管理的定义是:指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望的过程。项目管理是对一些成功地达成一系列目标相关的活动(譬如任务)的整体监测和管控。这包括策划、进度计划和维护组成项目的活动的进展。《百度百科》

关于项目管理方面的抱怨已经维持了很久,依然没有好的方法来解决,那么我们从TOC的角度来看看能否给大家一些启发,下文也是我在阅读完八讲-项目管理之后,对于所理解内容的一个整理和总结,如果有什么不正确的地方,欢迎拍砖指正,共同进步。

一.现有的项目问题是什么?

1.延期:项目通常无法在原本的日期内完工

2.变更:项目进行中有太多变更

3.资源短缺:即使是事先说好的资源,在要用的时候也会短缺

4.项目竟争:项目与项目之间的优先级会引发争论

5.返工:重做的工作太多

我相信这五个问题一定像五把刀一样插进了你的心里,扎心啦,老铁,你是否依旧在抱怨和困惑中挣扎,而这些问题共同导致了一个结果,我们无法按时完工。

二.为什么我们无法按时完工?

1.为什么我们要按时完工?

为什么我们无法按时完工?在问这个问题之前,有些人可能会发起挑战,为什么我们要在这个时间点内按时完工?这个时间是从何而来?这种时间的确定,通常来自于客观/非客观原因(市场需求),如果我们不在这段时间内完成,连做这件事情的机会都没有了,当然有一些时候这个理由显得有一些可笑,但是这种挑战对于解决这个问题并没有任何的帮助。

2.我们真的在这个时间内无法按时完工么?

我们反过来再次问自己一个问题,我们真的在这个时间内无法按时完工么?通常我们自己都已经增加了我们相对满意的安全时间,为什么它们没有生效?因为安全时间没有吸收所有问题,安全时间太短了,大家一定这么想。得出这个结论的以后,我们引入经典三问

1.是真的么? 是真的

2.总是真的么? 也不一定

3.有没有什么例外? 除非安全时间自己消失了。

我相信你一定以为我疯了,怎么可能时间自己消失了,去哪了?残酷的现实总是无情的打着我们的脸,时间被我们自己浪费了。我们一定不会傻到这么重要的时间自己浪费了。这个问题的背后一定存在一个错误的假设,而这个错误的假设让我们现在所做的所有事都付诸东流,那就是:局部的绩效好=整体绩效好,换句话说,每个项目准时完成 = 整体项目准时完成

基于“每个项目准时完成 = 整体项目准时完成”这个假设,对于我们最重要的就是确保每个项目准时完成,这样就可以确保整体项目准时完成。而每个项目的时间是谁制定的?通常情况下是我们自己,然而基于人性的考虑,任何人都会选择上报80%可能性完成任务所需要花费的时间C。是真的么?总是真的么?有没有什么例外?除非是一个新手,渴望成功和表现自我,但是相信我一定不会长久。

f5bc43439fac110bffed2334898e9366.png

难道只有我们自己给我们自己留有安全时间?当然不是,每提升一个层级,安全时间都会增加,你的领导跟他的领导汇报的时候也会增加一些时间,那不是很美好,我们有了更多的时间一定可以完成工作。现实又再一次的无情的打了我们的脸,不要总怪什么“墨菲定律”了,问题出在我们自己身上。那么时间都去哪了,究竟是什么吃掉了安全事件?

三.时间都去哪了?

1.学生症候群(拖延症)

学生症候群,即所谓的拖延症,常见心理“反正还早,急什么?”。

举例:如果老师说下周一考试(今天周五),同学们说来不及复习,然后心慈手软的老师说那就改到下下周一,请问,今晚回去的你是否会开始复习?为什么考试依旧考不好?这多的一周时间哪去了?都被自己浪费掉了。

学生症候群将前面的时间被浪费了。

2.帕金森综合症

帕金森综合症,只要还有时间,工作就会不断扩展,直到用完所有的时间。

举例1:你是一个部门的领导,极力争取的预算X元,现在12月了,你的预算还剩60%未使用,你会告诉他们你不需要了么?为什么?因为下次预算的时候,他们会删减你的预算.

举例2:我争取20天排期,最后妥协为18天,项目进行相当顺利,我9天就完成了.我该怎么做?在修饰一下这个功能,让其更突出,在检验一下另外一个功能,修修补补。即使我提前完成,并交给了下一个部门,下一个部门正在做另外一件事,没时间来处理,或者他觉得时间还早.

这样我们节省出来的时间呢?都被帕金森法则浪费了。

3.整合

整合:许许多多的事情必须组合到一起,才能往下走。

举例:ABC三个部分需要整合一起,A提前5天完成,B提前10天完成,C落后5天完成。我们整个项目肯定提前了10天?错,是延期了5天完成。如果A,B,C完成50%概率,那么准时整合的概率是12.5%。那么延期不是一件很正常的事情么?

4.资源短缺

资源短缺:在需要某些资源的时候,它再被其他人占用着,无法使用。

举例:A和B都需要整个资源,A因为某些原因慢了一些,导致B在占用资源,从而影响了A的进度。

彼此等待消耗了大量的时间,导致延期,也很常见,尤其是重要的多方依赖的资源的短缺和等待。

5.多项目

多项目:每个人的手上有多个工作同时在进行,但是有的时候不得不停下手上的工作,去做工作计划之外的其他工作,然后再回来做前面停下来的工作。这叫工作状态就叫不良多工,不良多工导致更多的项目延期和更多的时间浪费。

危害:

1)换线动作的时间

2)换线思考重新开始的时间

3)并没有同时完成

4)甚至每个项目都拖延了

a39c4a3c17d8faabc5a9508ec3d1d130.png

在这里多讲一些关于不良多工的解决方法。不良多工会引发恶性循环,我们越延期,下次就会增加更多的安全时间,最后由于外界受限,如此反复恶性循环下去,这与我们想要的结果背道而驰。

举例:F16战斗机,修理中有一种问题必须由一种特殊工程师来指示如何修理,签名才算完成.

但是他去一个地方时,这个地方的人在忙别的,再去下一个地方,他们又在忙别的,如此一来,前置时间不断延长,一直无法进入到解决问题阶段,同时就会有更多的新问题涌入,因而形成恶性循环。

改进方式:每个工程师最多负责3个任务,问题送到这个部门,但是不指派.如果三个任务都在忙,那么就停下来等待,直到你有时间解决.因为拖垮前置时间不是实际的工作时间,而是接受问题到开始到可以处理的时间,这样做之后,前置时间可以在不影响产能的情况下大幅缩短。

所以改变不良多工的办法就是大量减少每个资源需要处理的任务数目,来减少不良多工。

让我们来思考一下:三个人同时传过一个门,一起走会撞到一起,一个个走反而通过时间会比原先要早。那么三个人怎么才能完美错开,各不耽误呢?继续发问:最可能卡在哪里最久?最可能哪里造成不良多工?哪里充分运用资源最重要?

1.那一定是工作最重的部门,这个部门可能是非瓶颈,安全时间很多。

2.任务错开了最重的部门,就等于错开了所有部门,移动一项任务,整个项目都会随着移动

3.不要再其他部门在错开,否则会引起混乱

四.我们错在哪里?

只因为之前的隐含假设“每个项目准时完成 = 整体项目准时完成”是错误的。那么错在哪里?

我们只要整个项目如期完成,根本不用关心每个项目是否如期完成。你肯定会黑人问号脸,What?每个项目不如期完成,整个项目怎么如期完成?这就是我们假设错误的地方。

这里面要先引入两个概念“关键链路”和“关键链”。

关键链路:在每个项目中,有些任务只有在其前期任务完成才能开始下一步,任务相依的最长一条路景被称之为“关键路径”。

在项目没有专项资源,出现资源依存之后,关键链路就需要考虑资源的依存性,于是诞生了我们熟知的“关键链”。

关键链:相互依存的任务所组成的最长链条,同时还要考虑资源的依存性,这是项目完成时间即为关键链完成时间。

当非关键链上的项目未按期完成有一些delay的时候,可能也不会影响到整个关键链的按时完成,这样就不会影响整个项目的按期完成,这就是“整个项目如期完成≠每个项目如期完成”。

通常我们会如何衡量一个项目的进度呢?我们今天所说的项目进度80%,指的是整个工作量的80%,然而我们花了一年的时间完成了项目的80%,而剩下的20%要在花一年的时间。

so,用什么来衡量项目进度? 答案是:关键链完成百分比。然而还不够,依然要关注消耗项目的缓冲与完成关键链之间的比例。我完成了关键链的60%,消耗了30%项目完成缓冲,情况还不错。我完成了关键链10%,消耗了50%的项目完成缓冲,情况很糟糕。

五.如何解决问题?

我们依旧使用聚焦五步骤来解决这个项目管理问题,这里面我们来分析一下单项目环境,再次深化一下对于聚焦五步骤的理解。

聚焦五步骤

第一步:识别瓶颈

现在回过头来,再次明确一下我们的目标(有效产出):既定的时间内尽快完成既定的项目。而这里面的瓶颈即为关键链。上文我们已经讲到了我们在浪费我们的安全时间,又因为安全时间来自于预估时间,为了可以挖尽瓶颈,我们必须突破局部利益最大化这个思想壁垒。

第二步:挖尽瓶颈

1.不要将预估当做承诺。

给出的预估时间不是确定的数字,不希望每个人都在预估时间内完成,在这样一个前提下,为了防止“学生症候群”及“帕金森综合症”等相关行为,将预估时间减半。团队中所有人的目光和注意力都必须要集中于整个项目的交期上,而不是单个项目的交期。

2.以接力赛的工作准则来执行关键链任务

团队成员应尽快完成分配的任务(去除“学生症候群”),同时尽快将工作传递给下一个子任务(去除“帕金森综合症”)。执行任务的时候需要聚焦,只关注眼前的任务。

3.将关键链上的安全时间(预估时间的一半)砍掉一半,置于整个项目的尾部,用于保护整个项目的完成。

这部分时间,我们叫做项目缓冲时间,规则就是项目完成缓冲应该是项目全部时间的三分之一。关键链上不同的项目有的会延期,有的会提前,统计波动会相互叠加,从而达到平衡。因此,通过对于整条关键链增加项目缓冲,会大大提高预估时间内准确完成的概率。

3个步骤都完成之后,我们就可以得到如下图所示的这种转变。

2b61d49feef75ee42ddabae469768b03.png

4.在执行过程中,根据项目缓冲管理情况来确定什么时候,该采取哪些行动。

这里便于理解,借助段云刚老师的PPT中精彩的讲解,希望大家可以更好的理解,晚辈就站在巨人的肩膀上就好。

5883c3bca52814b02477be99defa2214.png
a7db731f3e3b312cbc3529b7057e8df7.png

第三步:迁就瓶颈

单项目环境中迁就即为非关键链任务需要去全力以赴,提早完成任务,确保关键链不受影响,同时在非关键链和关键链任务交接处加入“接驳缓冲”,来保护关键链不受影响。接驳缓冲的大小等于非关键链任务安全时间(预估时间的一半)的一半。下图中的FB即为“接驳缓冲”。

9e92c6f27552f4fb61e48fb3c49bd626.png

我们下面重点来看下多项目下如何做到迁就。多项目环境下决定组织产能的是“关键资源”-经常被卡住或负担最重的那个资源。下面来看看步骤。

1.除非“关键资源”有可用的产能,否则不要启动新的项目,不齐套不开工。

2.再多项目中什么时候需要干预两个项目的优先级取决于两个项目对于项目缓冲侵蚀的大小和关键链任务完成百分比。如果一个项目完成关键链百分比不多,但是项目缓冲消耗巨大,那么问题就比较严重,反之问题较小。预估项目是否可以正常完成只需要观察下图走势,便能让高管和项目经理清晰的了解项目进展准确信息。

c086a3b324d53d018f07a3fbcf1f77bf.png

注意:我们是以消耗项目缓冲比例来衡量项目的优先级,所以即使某个接驳缓冲被消耗了非常巨大,而项目缓冲没有收到损害,依然不是什么问题。

4beb2eea21e7f0d93d89a78921cc4a06.png

3.项目优先顺序,取决于“关键资源”的单位有效产出(单位时间内创造出的有效产出)。在多项目环境中,“关键资源”的产能决定了每年可以完成多少的项目,按照项目的价值和消耗“关键资源”的数量来决定优先级。

第四步:打破瓶颈

这个地方我理解的应该就是增加关键资源的单位有效产出能力,并不是难易想到的。

第五步:重头再来第一步




推荐阅读
  • Sapphire 测试网上线:首个支持 EVM 的隐私 ParaTime 环境
    Sapphire 测试网上线:首个支持 EVM 的隐私 ParaTime 环境 ... [详细]
  • 本文推荐了六款高效的Java Web应用开发工具,并详细介绍了它们的实用功能。其中,分布式敏捷开发系统架构“zheng”项目,基于Spring、Spring MVC和MyBatis技术栈,提供了完整的分布式敏捷开发解决方案,支持快速构建高性能的企业级应用。此外,该工具还集成了多种中间件和服务,进一步提升了开发效率和系统的可维护性。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • Python作为当今IT领域中最受欢迎且高效的语言之一,其框架能够显著加速Web应用程序的开发过程。本文推荐并对比了十大顶级Python Web开发框架,其中CubicWeb以其卓越的代码重用性和模块化设计脱颖而出,为开发者提供了强大的支持。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • ylbtech-进销存管理解决方案:进销存管理,即购销链管理,涵盖企业从采购(进)、库存(存)到销售(销)的全流程动态管控。其中,“进”涉及从市场询价、供应商选择、采购执行直至货物入库及支付流程;“销”则包括产品定价、客户报价、订单处理及销售出库等环节。该解决方案旨在通过信息化手段,提升企业运营效率,优化库存结构,增强市场响应速度。 ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 智能制造数据综合分析与应用解决方案
    在智能制造领域,生产数据通过先进的采集设备收集,并利用时序数据库或关系型数据库进行高效存储。这些数据经过处理后,通过可视化数据大屏呈现,为生产车间、生产控制中心以及管理层提供实时、精准的信息支持,助力不同应用场景下的决策优化和效率提升。 ... [详细]
  • openGauss安全管理体系结构与源代码解析综述
    本文综述了openGauss数据库的安全管理体系结构及其源代码解析。与数据库的其他功能模块不同,安全模块的功能并非集中实现,而是分散在数据库的各个业务逻辑环节中,为不同阶段提供相应的安全支持,从而形成多层次、全方位的安全防护体系。这不仅增强了系统的安全性,还提高了安全机制的灵活性和适应性。 ... [详细]
  • 在Java中,匿名函数作为一种无名的函数结构,无法独立调用;而在JavaScript中,不仅有类似的匿名函数,还有立即执行函数(IIFE)和闭包等高级特性。立即执行函数同样基于匿名函数实现,但会在定义时立即执行,而闭包则通过嵌套函数来捕获外部变量,实现数据封装和持久化。这些不同的函数形式在实际开发中各有应用场景,理解其特点有助于更好地利用语言特性进行编程。 ... [详细]
  • 在Spring与Ibatis集成的环境中,通过Spring AOP配置事务管理至服务层。当在一个服务方法中引入自定义多线程时,发现事务管理功能失效。若不使用多线程,事务管理则能正常工作。本文深入分析了这一现象背后的潜在风险,并探讨了可能的解决方案,以确保事务一致性和线程安全。 ... [详细]
  • 斯尔福实验室空间规划与平面设计准则
    斯尔福实验室的空间规划和平面设计遵循《实验室建设详细方案》及相关国家法律法规和标准,通过设计方与建设方的深入交流和协商,在全面了解实验室使用需求的基础上进行科学合理的布局设计,确保实验室功能性和安全性得到充分保障。 ... [详细]
author-avatar
编舞木煜率_841
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有