让我们将约束定义为阻止系统实现其目标的任何事物,然后查看组织中的DevOps的目标。

一个很好的定义是“ DevOps使功能从开发到开发的快速流程客户的IT运营。”通过消除流程障碍可以改善DevOps。首先,我们必须在流程中找到这些约束。也许有多个障碍,我们如何决定首先去除哪个障碍?

Eliyahu M. Goldratt博士的名言是


任何























没有在约束条件下进行改进是一种错觉


一旦发现该约束条件,便是系统管理的重要集中机制。因此,如何确定IT组织中的约束条件?以及要对其进行哪些更改才能获得更好的流量呢?

评论

请停止过度主持。这些问题是DevOps的重要组成部分。我们需要与文化和流程相关的问题。

问题在于,要使问答站点正常运行,我们需要的问题必须有足够明确的答案才能对回答进行排名和投票。这个问题非常接近“我该如何培养?”,如果没有一些细节,这真的很难回答。

找出公司所处的现实状态时,可以使用一些元方法。如果您不知道这些元方法,可以,但是请允许其他人表达他们的经验和知识,例如如何做这些事情。基于文献和经验的狭窄答案非常适合此问题。

我投票支持重新开放,因为除工具外,劳工组织对DevOps至关重要。而且,如果不了解工具及其周围的流程,我们就无法优化劳动力。约束理论对于工业进步非常重要,因此对于DevOps也是如此。

重新打开+1时,在软件开发商店的DevOps环境中根据Goldratt的TOC定义查找约束存在非常特定的上下文。我认为这不是不确定的。例如,Clarke Ching的著作《瓶颈规则》(The Bottleneck rules)在他的FOCCUS过程中提出了一个解决方案。正是针对此一般问题的非常具体的一般解决方案,而显然,解决方案的细节将根据具体情况而有所不同。

#1 楼

在任何过程中识别约束都是相对简单的任务。工作在整个组织中从一个人转移到另一个人,并且它只会堆积在约束的前面。例如,您可以寻找阻止未解决问题数量最多的人员或团队。这取决于您如何跟踪工作流程,但是如果您跟踪工作流程,则通常很难确定约束条件。有助于了解组织的价值链并简单地遵循它们。

约束可以分为三种类型:


人:特定的技能或知识
政策:书面或不书面的政策或流程,通过增加延迟或减少吞吐量来限制工作。
设备:特定的计算机系统可能会限制您通过工作的速度通过它或可以同时使用它的人数。

关于软件,软件交付过程通常是一个制约因素,因此持续集成/持续交付是一种有效的方法提升此约束条件,并且通常需要使组织服从该约束条件,以增加工作量。通过软件交付中的自动化,您可以消除工作缓慢的人,并且避免昂贵的政策障碍和审批。与其他两个系统相比,计算机系统升级形式的设备成本相对较低。

质量保证是过程中可能受到限制的另一个示例。如果软件要在昂贵的硬件上运行,则手动质量控制需要大量工作,甚至自动化测试也可能受到设备的限制。但是,质量检查中最常见的限制因素是政策,该政策往往会雪上加霜。 QA流程的延迟和较小的吞吐量可能导致需要处理较大的工作单元,从而将成本推回代码集成中。

评论


因此,四处走走,找到手动做事或依赖其他人的人-那么我们知道推动自助服务会增加一个约束,它符合我们需要做的改进工作吗?在我们实际投入资金之前,有什么方法可以检查它是否得到实施?

– Evgeny Zislis
17 Mar 2 '17 at 4:17

这些都是非常有效的问题,我建议分开询问,我将很高兴为网站上的每个人全面回答所有问题。 “您如何提升政策约束?” “您如何估算过程自动化的成本/收益?”

–吉里·克劳达(Jiri Klouda)
17 Mar 2 '17 at 4:45



#2 楼

不幸的是,这里没有答案。如果您问团队中的每个成员,他们可能都有不同的答案。与其尝试对泛化为“文化”的事物进行根本原因分析,不如尝试查看投资回报率。解决瓶颈附近的问题通常比解决瓶颈方面的投资回报率要好,但是如果解决另一问题需要5分钟并获得90%的收益,那么谁在乎,做有需要的事情。

评论


我并不是要问别人的意见会怎样。我要求找到一种实用的方法。例如,如果我将所有人员聚集在一个房间中,我需要告诉他们什么,或者需要用什么来打他们才能得到正确的答案?

– Evgeny Zislis
17 Mar 2 '17 at 4:14

为了获得您所谈论的巨大的ROI,首先我们需要找到能够获得ROI的东西。然后做那件事。然后获得投资回报率。然后,我们将知道...这可能有用,但运气太大,似乎倒退了。

– Evgeny Zislis
17 Mar 2 '17 at 4:15

根据约束理论,采用团队所拥有的所有“不同答案”,并使用逻辑思维过程可以帮助您找到根本原因或根本冲突,解决这些问题后,大多数问题都可以通过注射轻松消除。

– Evgeny Zislis
17 Mar 6 '17 at 0:07

如果您认为有一个(或少量)根本原因导致软件难以开发和发布,那么很有可能是瓶颈;-)有点像问“为什么画画需要这么长时间?”或“您何时完成该研究项目?”

–coderanger
17 Mar 6 '17 at 0:40

我没那么说我写道,根据约束逻辑思维过程理论,有一种找到根本原因的方法。通常,单个系统中的多个问题背后只有一个原因或冲突。

– Evgeny Zislis
17 Mar 6 '17 at 1:39