如何在DevOps世界中建模人、机器、度量和流程

50次阅读
没有评论

问题描述

在《The Phoenix Project》一书中,我们被告知每个工作站都是由人、机器、度量和流程组成的。这听起来很有道理,毕竟我们有人员、服务器、关键绩效指标和工作指导。然而,每当我建模一个流程(例如支持工单的生命周期),我都很难考虑到这一点。我的工作流程通常包括以下几个状态:
– 一线支持
– 技术/开发/更高级别的团队支持
– 代码审查
– 测试
– 用户验收测试(UAT)
– 部署
我可以很容易地测量每个状态的周期类型、吞吐量和队列时间,但我觉得这并不能充分体现人、机器、方法的概念。这本书中只是简单地提到了这个想法,但没有进一步展开…我们知道等待时间是利用率的函数,因此监控人员和服务器(有限资源)的繁忙程度至关重要。是否有任何定义好的流程,可以将我的测量从简单的有限状态机扩展到书中的人、机器、方法、流程的概念?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

他们所说的是Kaizen 5M(人、机器、材料、方法、度量)的概念。这是一种在流程的每个工作站上进行持续改进的方法,而M则是可能的改进点,并对应着相应的问题(5Qs)。有时会添加环境作为第六个,就像在这个过程中,使用Ishikawa图解释如何构建问题一样。这些基本上是丰田生产系统/精益生产的要素。但改进的目标不是利用率,而是质量的改进。你永远不会追求利用率,因为这对系统的吞吐量是有害的。
重要的是要理解,人、机器、材料、方法和度量是不容易分开的。有时机器、材料和度量会一起出现在一边,人和方法会出现在另一边。因为你可以替换工作站上的人和方法。
在软件开发方面,你有软件(机器)、问题(材料)、代码质量/验收(度量)、人(程序员)和方法(开发过程)。人在机器上接受培训并熟悉它,了解正在处理的材料,理解所需的度量,学习流程。所有这些都存在于人的大脑中,因此一旦学会,它们不容易分开。只有当人还没有完全内化方法时,才可能改变方法,否则更容易改变人和方法。此外,机器、材料和度量通常通过自动化和配置相互关联。这就是为什么它们被绘制在图表的相对位置的原因。
如果你仔细阅读这本书,你会发现它实际上并没有谈论利用率,除了在价值链的瓶颈上。为了提升和利用瓶颈。书中采用了几种方法,包括看板。
你不想优化流程中的各个工作站(客户->支持->开发->审查->测试->用户验收->部署->客户),但你需要建模这些工作站之间的转换、它们的依赖关系,并监控通过系统移动的工作在过程中的WIP(Work In Process)。通常通过问题跟踪软件(或看板系统)来实现,这相当于制造业中的材料跟踪。在你的关键链过程中,WIP在工作站前堆积的地方,你将找到瓶颈,这是你想要使用Kaizan(5Ms,5Qs)进行优化的地方。

注意:我在你的流程的开头和结尾都添加了客户,因为每个价值链都必须以客户开始和结束,否则它对公司没有价值。

正文完