单点突破,击穿阈值,DevOps转型你需要这样做

在上篇文章里,我提到了如何通过对价值流进行分析、拆解关键要素指标,并通过缩减处理时间PT、降低前置时间LT、提高完成&准确的百分比(C&A%),实现企业研发效能10倍速提升。大家点击回看这篇文章《以埃隆马斯克“第一性原理”实现企业研发效能10倍速提升》。

今天,我们继续聊一聊如何通过单点突破,轻松撬动企业DevOps转型。

端到端的DevOps包括4个阶段16个步骤

我们现在讲DevOps,都是指端到端的DevOps,也就是类似下图所指的从客户idea出发,经过协作开发、持续测试、持续部署,一直发布给客户使用的全过程。

这意味着我们需要覆盖企业如下价值流持续交付流程:

注:这种拆解来自 规模化敏捷SAFe DevOps专业人士认证(SDP)

当然这16个维度,每一个都可以再进行细化拆解,譬如【开发】可以拆解成 设计—>编码—>自测—>评审—>提交 等细化阶段。我们先从宏观来看,不看那么细,这16个维度都可以定义若干个细化问题,分别进行评估,那就可以生成一个雷达图。

注:此健康雷达 来自 规模化敏捷SAFe DevOps专业人士认证(SDP)

如果每个维度都可以按照1-5分来评估健康度,假设得到这样的一张雷达图。

请问你接下来会如何计划进行改进?

这里不要着急往下看!!!关上手机屏幕,问下自己,努力思考2分钟!

或许,你会得出这样的答案:

1、针对那些评分低的维度,针对性提升;

2、对于少于2分的维度,全部要提升到4分以上。

找到“阈值”,单点突破

不知道诸位有没有参与过一个组织、一个团队的变革或转型,如果你这样均等发力、各点突破,那么你的变革或者转型可能会面临灭顶之灾!毕竟企业的资源都是有限的,均等发力就相当于没有发力,可能哪个层面都击不破、打不穿,始终停留在改进无进展的状况。

格鲁夫有一本书,叫《只有偏执狂才能生存》,书中提出了一个战略转折点的概念。

什么叫战略转折点呢?在数学上,当曲线斜率变化比率开始改变符号时,就意味着遇到拐点,而拐点也是转折点,如下图所示。

在这个点,如果拐上去,就是上升;如果拐下来,就是下降。

所以针对这个拐点而言,必须“击穿”,才能上升,而“击穿”的概念其实就是突破“阈值”。

举个栗子:比如我们想要让水沸腾,就必须要达到100摄氏度,即便是只差1度,水也不会沸腾。这里的100摄氏度就是“阈值”。突破,就可以得到开水,否则就只能算是温水。

这也就是说击穿了就是1,击不穿就是0。

很多人经常说,“我很努力,为什么就不能成功?”没错,你是很努力,但是因为你还没有击破“阈值”,没有全力以赴地把事情做到极致,所以你不能成功。

我们再来回顾一下二战时的马奇诺防线。 

整个防线共构筑各种用途的永备工事约5800个,密度达到每公里正面15个。最坚固的钢筋混凝土工事的顶盖和墙壁厚度达3.5米,装甲塔堡的装甲厚度达300毫米,均能抗两发420毫米臼炮炮弹的直接命中;防线内的防坦克障碍物主要有防坦克壕、崖壁、断崖及金属和混凝土桩砦,并用地雷场加强;防步兵障碍物一般为金属桩或木桩铁丝网,有的地段还设置了通电铁丝网。这就是二战历史中最出名的法国马奇诺防线,为修建这一要塞,法国投入了大量的资金,但是在二战中却没有起到任何作用,很快就被德国人突破了。

为什么马奇诺防线没有起到作用呢?原因就在于马奇诺防线有一个防御漏洞,这个漏洞就是阿登森林,这是法国的战略要地,自古以来都是欧洲的兵家必争之地,但是法国的马奇诺防线的坚固却没有涉及到这一地区。原因是什么呢?当时的法国军部认为这一地区军队是不可能穿过的,于是不仅没有在这一地区修建防线,甚至在这一地区没有什么防御,于是这一地区成为了德军的突破口。

作为“单点突破,击破阈值”的经典应用,德军很快就灭亡了法国。

所以,对于任何组织变革或者组织转型而言,必须将足够的资源(力出一孔)投入到一个单点上,将“阈值”一举击穿,从而带动其他要素,形成正向循环。

众所周知,支持京东成功的最强大的东西主要有两点:一点是商品质量,另一种就是服务到家的物流体系。我们也知道,京东的模仿者有很多,但成功的似乎只有一个京东。

很多人无缘无故的就死在自建物流上。要知道自从京东自建物流取得显著的行业服务优势之后,自建物流,一直以来是很多电子商务公司的重点投资项目。而最终的结果就是这些人都死在了这一条路上。自建物流其实最大的问题,马云已经提到过,京东售出的商品,远远不及阿里巴巴,但是京东的员工数却远远超过阿里巴巴,这里最大的原因就是因为京东有太多的送货员。

这些送货员带来了巨大的人工成本和管理成本。对于那些刚刚成立没有几年的公司来说,这么大的资产压力和管理压力,足以压垮年轻公司的生产模式和管理团队。而且自建物流需要不断的有资金进入,对于那些盈利能力弱的电商公司,一旦融不到资金,那么等待他的就只有死亡。

那为什么京东能成功呢?其实答案也很简单,首先京东的物流体系不是一年两年建立起来的,而是京东集团十几年的结果,这些管理问题和融资问题是京东一步步克服过来的,所以才会有今天的成功。

正是在物流领域的“单点突破”,形成了京东的核心竞争力,不仅让京东在2003年的非典之后,快速发展;在今年这次新肺炎疫情下,能够及时大面积全国送货的电商又是非京东莫属;而且还在疫情最严重的武汉地区,将储备已久的无人车、无人机送货方式,送上了战场,实现了无接触送货新模式,为避免疫情传播做出了巨大贡献。

再回到DevOps转型上来,前面我们已经拆解到了16个子维度,我们同样需要在这16个子维度选择一个关键实践作为单点,进行重点突破。

京东:找到阻挡研发效能的突破点

我们再来看京东在敏捷DevOps转型过程中,是如何通过突破“部署”这个单点,击破阈值,带动整体转型的。

京东2013 年之前是”HumanOps“,通过脚本手工上线,无法做到自动化;原有的部署方式比较偏向于传统,从申请虚机、准备环境再到部署,在准备阶段占用了大部分时间,尤其是在业务扩张太快,资源却十分紧张的情况下,无形中拉长了全公司研发部署上线的战线。

2014 年到 2016 年是 Jone(京东持续交付平台) 时期,在 Jone1.0 交付采用Rsysnc的方式进行,但上线过程经常会线上排队。这个点还是没打透!

于是,在2016 年启动了2.0的迭代,Jone采用了ansible作为发布的工具,重点期望做到:

1、扩展架构,解决Deploy系统在上线日排队情况的发生,提升发布效率。

2、将Jone和deploy合二为一,消除用户上线跳转的时间。

3、简化并规范部署流程,优化部署方式。

经过大家的不懈努力,新J-ONE提供了以下新功能特性:

  • 编译、上线发布、部署在一个系统搞定

  • 界面更简洁、操作更方便

  • 线上环境的规范验证,降低COE发生概率

  • 灵活的实例设置,多层分级化配置

  • 多应用批量DB授权,邮件通知授权结果

  • 非0,1级应用可自行选择测试类型

  • 安全测试接入代码漏洞扫描,上线更放心、更安全

  • 上线零排队

  • 上线不再区分类型(紧急和正常)

  • 重启、停止、启动无需预约,即时操作

  • 秒级回滚

  • 免开通拥有线上“堡垒机”功能

如今的J-one平台不仅提供公有云资源的申请入口,还在流程上简化了申请资源的过程。另外,容器能在部署时快速扩容,也能按需缩容,实现资源利用率最大化。

再结合业界最先进的理念和技术潮流,J-one提供镜像部署的功能。先构建出一个可以部署的镜像,然后再发布到生产环境中,在镜像部署中线下测试验证,保证测试环境和生产环境的环境一致性,同时日志和监控自动同步对接,省去研发不少麻烦。

如果说原有传统部署平均时效是3个小时,那么现在通过镜像部署,可以分分钟之内搞定部署任务。

小结:自从将“部署”这个单点突破之后,京东的研发效能明显提升,反过来又促进了对其他实践的应用,譬如敏捷迭代开发、新业务功能快速闭环验证、创新业务高效试错、代码质量扫描、安全左移等等。

总结

本篇文章,我们讲到京东案例里重点突破的是部署环节。因为每家公司的业务不同、基础设施能力不一样,在实施DevOps转型的时候,需要因地制宜地选择适合的一个单点,可以是敏捷迭代,也可能就是可视化看板,也可能是持续集成,也可能是快速业务探索,无论如何,只要先把某个单点击破,就可以引发整体转型。

注:本文借鉴引用了李善友老师的《第二曲线创新》理念,感谢善友老师及混沌大学曾经提供的15天“摆渡人”学习历程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双向dcdc变换器simulink仿真_二极管箝位五电平变换器Simulin仿真

● 本期为二极管箝位五电平变换器的基本Simulink仿真,只包含其SPWM调制。感谢公众号一位好友“一叶知秋”提供Simulink模型并分享。01二极管箝位五电平变换器调制方法传统的变换器存在高的电压变化率和共模电压,且波形谐波含量较大,使得输出滤…

在.NET Core中使用MachineKey

在.NET Core中使用MachineKey在上篇文章中,我介绍了 Cookie是基于 MachineKey生成的, MachineKey决定了 Cookie生成的算法和密钥,并如果使用多台服务器做负载均衡时,必须指定一致的 MachineKey。但在 .NETCore中,官方似…

cg word List 1

cg word List 1 如果存在什么问题,欢迎批评指正!谢谢!

[蓝桥杯2016初赛]剪邮票-dfs+next_permutation(好题)

题目描述 如下图, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连) 比如,下面两张图中,粉红色所示部分就是合格的剪取。 请你计算,一共有多少种不同…

cg word List2

cg word List 2 如果存在什么问题,欢迎批评指正!谢谢!

如何扩展分布式日志组件(Exceptionless)的日志通知?

作者:justmine头条号:大数据与云原生微信公众号:大数据与云原生创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。为了方便阅读,微信公众号已按分类排版,后续的文章…

hadoop hive集群_基于伪分布式Hadoop搭建Hive平台详细教程

一、搭建环境的前提条件环境:Linux系统Hadoop-2.6.0MySQL 5.6apache-hive-2.3.7这里的环境不一定需要和我一样,基本版本差不多都ok的,所需安装包和压缩包自行下载即可。但是注意hive和hadoop都是2.x系列版本的。这里提供一个我下载的hive版本…

cg word List 3

cg word List 3 如果存在什么问题,欢迎批评指正!谢谢!

.NET Core开发实战(第7课:用Autofac增强容器能力)--学习笔记(上)

07 | 用Autofac增强容器能力:引入面向切面编程(AOP)的能力这一节讲解使用第三方框架来扩展依赖注入容器什么情况下需要我们引入第三方容器组件?大部分情况下,默认的容器组件足够使用当需要一些非常特殊的场景如下&…

sql 对groupby 后的数据limit_SQL(三)——汇总分析

1. 汇总分析函数的3个功能:①功能;②输入(参数);③输出(返回值)查询课程编号为“0002”的总成绩:查询选了课程的学生人数:2.分组sql分组:group bygroup by 实现数据分组&…

cg word List4

cg word List4 如果存在什么问题,欢迎批评指正!谢谢!

通过 Serverless 加速 Blazor WebAssembly

Blazor ❤ Serverless我正在开发 Ant Design 的 Blazor 版本,预览页面部署在 Github Pages 上,但是加载速度很不理想,往往需要 1 分钟多钟才完成。项目地址:https://github.com/ElderJames/ant-design-blazor[1] 求 Star。当寻求解…

eclipse中tomcat启动不了_Eclipse怎样与Tomcat集成

1 打开eclipse2 打开Window -> Show View -> Servers3 点击No servers are available.Click this link to create a new server...4 选择 Apache -> Tomcat v9.0 Server,tomcat的版本可以根据本机安装的tomcat版本选择,然后点击Next5 Name不需要…

树的存储结构-双亲表示法

特点:找双亲容易&#xff0c;找孩子难 代码如下&#xff1a; #include <iostream> using namespace std; typedef char ElemType; #define MAX_Tree_size 100 typedef struct PTNode {ElemType data;int parent;//双亲位置域 }PTNode;typedef struct {PTNode nodes[MA…

cg word List5

## cg word List5 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

x509trustmanager怎么验证证书_GeoTrust通配符证书和多域名SSL证书对比评测

GeoTrust SSL证书类型很丰富&#xff0c;能够满足多样的需求&#xff0c;而GeoTrust通配符证书和多域名SSL证书都是支持多个域名的SSL证书&#xff0c;这时候就有网友问了&#xff0c;GeoTrust通配符证书和多域名SSL证书选择哪个好呢&#xff1f;接下来安信证书就为大家做个详细…

树的存储结构-孩子链表

特点:找孩子容易&#xff0c;找双亲难 代码如下&#xff1a; #include <iostream> using namespace std; typedef char ElemType; #define MAX_tree_size //孩子结构 typedef struct CTNode {int child;struct CTNode *next; }*ChildPtr; //双亲结点结构 typedef stru…

【视频教程】使用 ASP.NET Core 3.x 构建 RESTful Web API 已完结

使用 ASP.NET Core 3.x 构建 RESTful Web API 的视频教程已经完结&#xff0c;共50讲&#xff0c;约10.5小时。B站可看&#xff0c;点击原文链接。度娘盘可下载完整视频&#xff1a;https://pan.baidu.com/s/1VPE3bkAVQI_RO3tDrxod4w提取码: hsmj源码以及PPT&#xff1a;https:…

ASP.NET Core 借助 Helm 部署应用至 K8S

前言玩K8S也有一段时间了&#xff0c;借助云服务提供商的K8S控制台&#xff0c;已经可以很方便的快速部署应用至K8S。通过简单的点击&#xff0c;可以一次性帮忙创建K8S 对象&#xff1a;Deployment、Service、Ingress、ConfigMap等。但是当服务的规模上来后&#xff0c;这种方…