关键链项目管理(一) - TOC, 约束理论

简介: 帕金森定律(Parkinson's law):    只要还有时间,工作就会不断扩展,直到用完所有的时间。    简言之,工作总在最后一刻才能完成。
帕金森定律(Parkinson's law):
   只要还有时间,工作就会不断扩展,直到用完所有的时间。
   简言之,工作总在最后一刻才能完成。

在软件项目管理过程中,开发周期和生产力往往是最难掌控的。一方面要确保一个安全的开发周期,另一方面又能让团队发挥出最佳生产力。单单强调人的素质等因素,会将事情变得更为复杂且不可控。关键链(Critical Chain)可以帮助解决这些问题,事实上很多项目上都在用。最常见的措施就是砍掉项目周期,预留一定的缓冲(Buffer)时间。可是砍多砍少并不好拿捏。这里先从其理论基础谈起,看看如何运用这个工具。

关键链(Critical Chain)背后是 约束理论 (TOC, Theory of Constraints)。历史就不说了,Google就行了。就像<<第五项修炼>>中提到的那样,从细节中抽身出来,从更高的层次对全局或整个系统进行分析才能有效地找到真正的问题或短板。这些短板就是约束。TOC强调的就是这样一个方法论,从自身的简单特性出发,找到各种约束(或限制),并加以有效管理,就可以在短时间内改善整体效益。

约束理论(TOC)

TOC将企业管理分为成本世界和产出世界,前者强调局部的细化必将带来整体的改善,后者则关注于最终成果。这在多个企业管理或项目中都是最根本的矛盾。常常为了成本而为最终的产出带来更大的风险。

传统上,我们习惯于将问题分解细化,然后各个子系统齐头并进,逐个解决。资源充裕时当然没有问题。但事实上绝多数项目本身可用资源有限(如研发人员不足),时间有限(如面临迫切的市场需求。),这时重点突破才是最佳方案。有时在一个组织里,一个产品被分为多个部门独立演进,常常在达成战略目标时无法同步,局部最优化伤害到整体的最优化。TOC强调的就是系统性的看问题,一个项目,一个组织都可以被视为一个系统。

以木桶效应来解释,就非常直白了。一个木桶能装多少水,取决于最短的那块木板。如果能增长这块短板,就可以有效提高整个木桶的容量。
    

TOC有三个关键假定(Key Assumption):

  1.系统的绩效取决于系统的限制。(找出根本问题,而不是表面的问题)
  2.局部或部门最优并不是整体最优的指标。
  3.即使员工行为不好,也并不代表他是不好的人。(尊重每个员工)

TOC设定了一个包括五个步骤的过程,没有特别要说的,就是定位约束,解决约束限制,再重新定位新的约束,如此往复。
其重点往往在第一步,如何定位约束?这在问题解决方法中都有涉及。但动手前一定要注意思考两个要点:
  1. 什么是最重要的目标?
  2. 什么是表象?什么又是本质?

对于软件项目,明确本次项目的目标是质量至上的项目(维护类),还是允许试错(哪些细项)的项目(推广或市场需求)。不同的目标,对应的约束条件会不同。这对最终的约束定位和解决问题有决定性的影响。

在定位短板时,可以运用鱼骨图或思维导图之类的工具辅助思考。对于如何定位核心问题,还是要靠自己的分析和验证。

总之TOC引导我们分析并回答以下三个问题:
 1. 应当改进什么?(找出核心问题。大胆假设。)
 2. 改进的目标 (制订计划,小心求证。)
 3.  如何改进 (制定策略,确实执行。可以多方案评估。)
   *此处参考洪家详<<TOC限制理论如何应用在专案管理>>

将TOC应用在项目管理上,就有了一个如下定义:
 因特定资源而造成的依存关系(可以理解为甘特图中的开始/结束关系),就是关键链。
关键链就是由在TOC中要关注的约束所造成。这和关键路径的最大区别就在后者并没有资源限制所造成风险大小的问题。

待续...
转载请注明出处:http://blog.csdn.net/horkychen

目录
相关文章
|
24天前
|
缓存 算法 测试技术
【软件设计师备考 专题 】如何定义软件需求:系统化的目标、配置、功能、性能和约束
【软件设计师备考 专题 】如何定义软件需求:系统化的目标、配置、功能、性能和约束
194 0
|
29天前
|
数据库
第二章用表组织数据
第二章用表组织数据
4 0
|
3月前
|
项目管理 数据库
简述软件质量的概念及质量保障体系,简述SQA的基本目标,简述CMM的分级结构及其主要特征,简述软件质量标准等级及适用范围
简述软件质量的概念及质量保障体系,简述SQA的基本目标,简述CMM的分级结构及其主要特征,简述软件质量标准等级及适用范围
69 0
|
5月前
|
存储 分布式计算 Hadoop
了解基础讨论数据
了解基础讨论数据
25 0
|
6月前
|
存储 NoSQL 数据库
数据库设计的重要阶段阐述
数据库设计的重要阶段阐述
81 0
|
存储 算法 安全
区块链包含术语概念【27术语整理汇总】
区块链包含术语概念【27术语整理汇总】
134 0
|
SQL 存储 数据可视化
谈谈数据建模的作用
越来越多的公司正在建设数据仓库或数据湖,并开始集中他们的数据或者已经完成了数据集中项目,并正在努力使整个组织的数据服务自助化。
谈谈数据建模的作用
|
项目管理
【软件工程】CMMI 能力成熟度模型集成 ( CMMI 级别 | CMMI 级别、过程域、目标、实践 | CMMI 评估对象 | 过程域的 阶段式分组 | 过程域的 连续式分组 ) ★
【软件工程】CMMI 能力成熟度模型集成 ( CMMI 级别 | CMMI 级别、过程域、目标、实践 | CMMI 评估对象 | 过程域的 阶段式分组 | 过程域的 连续式分组 ) ★
275 0
|
存储 自动驾驶 大数据
带你读《数据资产》第一章绪论1.1界定数据(一)
《数据资产》第一章绪论1.1界定数据(一)
|
算法 Java
Optaplanner逐步学习(0) : 基本概念 - Optaplanner,规划问题, 约束,方案
  之前的文章中,分别从APS,排产到规划引擎叙述了一些理论基础;并介绍了一些Optaplanner大概的情况;并一步步将Optaplanner的示例运行起来,将示例源码导进Eclipse分析了一下它的Hello world入门示例,从本篇开始,我们将分步学习它的一些概念及用法。
1974 0