转型:强生如何实现从飞机到飞鸟的蜕变
许峰
20年软件开发、测试、管理经验。前文思海辉欧美事业群交付副总裁。热爱DevOps。专注帮助传统企业的DevOps转型,专注DevOps思想及实践的传播分享。中国首批EXIN DevOps Master讲师,沙盘模拟《凤凰项目》《挑战埃及》培训师。
本文来源于Mark Landy和 Will Evans在DOES16的演讲:The Need for Speed: Enabling DevOps Through Enterprise Architecture
前言:
本文介绍了强生(Johnson&Johnson)在DevOps转型中的思考,尤其重点阐述了涌现理论。
强生从2014年开始启动DevOps转型之旅。强生IT部门每年要发布450个新的应用,公司级别的并购每年都有14个之多。
这意味着在转型的过程中,业务环境、人事组织,经济环境都在不断变化演进的过程中,不存在一个确定的、规划清晰地,可以按部就班实施的DevOps路线图。我想,这也是大多数企业所面临的情况。
Mark 和 Will 在强生IT转型的介绍中,体现的更多的是对DevOps本质的思考,而非给出一堆最佳实践的组合。
强生的联合企业架构 (Federated Enterprise Architecture)白皮书
该案例里提及的理论体系很多,比较重点的包括了:
Emergence 涌现理论
Conway Law 康威定律
Theory of Constraints 限制理论
Systems Thinking 系统思维
Cost of Delay,等等
我们今天重点关注涌现理论(Emergence):
DevOps转型理论指导:涌现
涌现是指复合系统(Complex System)作为整体呈现出的行为和表现无法在组成该系统的各部分中找到。复合系统的行为来自于个体之间的交互。
在天空中飞翔的椋鸟群就是一个复合系统的例子。当鸟群在空中移动时,从观察者的眼中看到的似乎是一个形状以及运行轨迹不断变化的整体,但实际上是由数千只个体组合在一起的复合结构。每只鸟和周围的鸟有一种简单有趣的关联,但作为整体却能维持一个高度灵活,自适应的系统。
当整个鸟群飞行的路线上有障碍物时,会非常自如的分开,一穿而过,而不会影响整个系统的整体特征。
相对应的,我们习惯的组织一般是一个层级化(hierarchy)的形态,结构严谨,上行下达,追求效率和执行力。
就好像一架由数以万计的零部件组成的飞机。飞机是一个复杂(Complicated)系统而非复合(Complex)系统。
当一架飞机飞行的路线上有障碍物时,作为不可分割的整体,它要么绕开,要么撞上。而如果飞机上有重要零件不工作,可能马上就会发生灾难性的后果。
那么涌现理论和DevOps有什么关系呢?我们在这里主要谈谈组织架构上的不同。
以层级分类的组织架构适用于相对比较稳定的环境,市场变化较慢,客户的品味和据此生产出来的产品会在相当长的一段儿时间内保持稳定。这也是工业时代的典型特征。在这里,瀑布模型计划,大规模生产,层级架构都是适用的。
而当我们进入数字化时代,我们所面临的市场竞争、宏观经济环境、客户的要求都在不断变化中。这就需要我们有与此相适应的组织形态,因为依赖于顶层决策,再层层下达无法应对快速变化的市场。
这个组织一定不是延续原来的层级结构,而是由一个个小的自组织团队(比如,产品团队)组成,团队之间通过一些简单清晰的规则合作,那么从公司整体来讲,就变成了一个有高度灵活性、对市场反馈能做出及时反应,同时能够自我成长的“有机体”。
那么是不是DevOps的兴起,意味着组织发展到一定阶段,就会由原来的复杂/层级系统转变成更加自适应的复合系统呢?
从现在的趋势上来看,这个可能性已经很明显。
如果我们看采用DevOps比较成熟的公司,系统架构上都是采用清晰的API / 微服务体系。
根据康威定律,系统架构是组织架构的反应。那么,组织架构上也一定是与此对应的相对独立的开发团队。系统通过接口调用结合在一起,而团队通过合作组成复合网络结构,就像是上面提到的鸟群。
这个架构的美妙之处在于它的自适应性。
在强生案例中提到的其它理论及参考资料请参考下图:
DevOps转型后面的很多理论思考
视频地址 (YouTube):http://buff.ly/2r3QyhF
完整PPT (SlideShare):http://buff.ly/2fihTpI
本文转自 DevOps咖啡馆
近期好文:
金融行业DevOps转型案例:Capital One两年实现蝶变
传统零售企业的逆袭 | Target 与 DevOps 的美妙邂逅
干货 | 基于 DevOps 的微服务生态系统与工程实践(三)
⚠️注意啦⚠️
许峰老师将在 DevOpsDays 上海站带来更精彩的演讲👇
《传统企业 DevOps 转型的若干案例》
【DevOpsDays · 上海站】
点击“阅读原文”,关注 DevOpsDays上海站