帕金森定律(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