一、定义
限制理论 (Theory Of Constraints),简写为TOC。任何系统至少存在着一个限制,否则它就可能有***的产出。因此要提高一个系统(任何企业或组织均可视为一个系统)的产出,必须要打破系统的限制。任何系统可以想象成由一连串的环所构成,环与环相扣,这个系统的强度就取决于其最弱的一环,而不是其***的一环。相同的道理,我们也可以将我们的企业或机构视为一条链条,每一个部门是这个链条其中的一环。如果我们想达成预期的目标,我们必须要从最弱的一环;也就是从瓶颈(或限制)的一环下手,才可得到显著的改善。换句话说,如果这个限制决定一个企业或组织达成目标的速率,我们必须从克服限制着手,才可以更快速的步伐在短时间内显著地提升系统的产出。
二、简介
限制理论(TOC)是美籍以色列人高德拉特(Eli Goldratt)博士从物理学领域引进到管理学领域形成的,它是Theory Of Constraints的简称,最初它作为一个物理学原理使用,一个简单的原理存在,它是指物理系统的最薄弱环节决定整个系统的产出或者效率,它在物理设计中经常使用到。1984年,高德拉特博士出版了他的***本小说《目标》,书中运用约束的相关理论帮助一个工厂厂长在较短的时间内实现了扭亏为盈,不仅很好的处理了企业的发展问题并且很好的解决了家庭中的矛盾。在高德拉特的不断努力下,该书很快畅销美国,并得到了相关管理专家的好评,从此,TOC开始非常流行。高德拉特博士在以后的实践中,将该理论从生产领域逐渐扩展到销售领域,以及企业的其它管理领域。继目标以后,高德拉特又出版了《决不是靠运气》和《关键链》等书籍,将该理论形成了一个完整的体系,并发展成为一种思维模式。约束理论在美国应用很广,美国生产和库存管理协会非常关注约束理论的发展,称其为“约束管理”,并成立专门的约束理论研究小组。该小组认为:TOC是管理理论和管理工具的结合,它把企业在实现目标的过程中现存的或者潜伏的制约因素叫做“约束”,通过逐个识别约束和消除这些因素,使得企业的改进策略和改进方向更加明确化,从而帮助企业实现其目标。
三、应用在DevOps方面
DevOps的实施是面向复杂系统的,寻找瓶颈和限制约束的领域有下面四个。
上图源于:http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
1. 每个领域的评价因素
对每个领域里面可能的瓶颈分层次的考察和剖析
2. 瓶颈的分析方法
以上是Dev到Ops的方向里,关于“交付到生产环境”领域的评测案例;里面分析的点是:使用相同的代码来为应用搭建开发、测试和生产环境。
- Tools Layer : Deploys/Day
- Process Layer : Number of Change Requests/Day
- People Layer : People Involved per deploy
评估以上场景的时候,需要找出能够在TPP三个层面可以度量的数据。当然可以加入DevOps流程中的其它相关指标。
3. DevOps积分卡
从每个领域的若干评估点上,既可以看到整体的成熟度矩阵。这也是DevOps落地点选择的一种选取方式。问题越大的领域,应该是最应该改善,***改善的方面,由于它能立刻看到效果;但是也要考虑到业务产出,也要考虑它的投入风险;综合看:应该选取有对业务价值产出有明显帮助,且风险合理的领域。
4. 内外循环
- 内循环:Automate - Measure 这2个领域组成了DevOps优化改进的内循环,组织中的技术债务主要存在于这个循环中。
- 外循环:Culture - Share 这2个领域组成了DevOps优化改进的外循环,组织中的社交债务主要存在于这个循环中。
四、总结
DevOps是一种状态,任何组织的任何产品都是一个复杂系统,任一时刻都至少存在一个约束。DevOps是让我们始终处于持续识别瓶颈和优化系统的状态中。
【本文为51CTO专栏作者“刘征”的原创稿件,转载请通过作者微信公众号“DevOps教练”(MyDevOps)获取授权】