数据保护背景下,安全团队引入了哪些新技术进行防控升级?点击学习案例 了解详情
写点什么

持续交付未来 10 年会是什么样子?

  • 2020 年 2 月 28 日
  • 本文字数:2039 字

    阅读完需:约 7 分钟

持续交付未来10年会是什么样子?

Dave FarleyJez HumbleJez Humble 在DeliveryConf上讨论了他们对未来 10 年持续交付(Continous Delivery,CD)的期望。CD 要取得成功,IT 行业需要关注三个方面的表现:技术、组织和文化——所有的这些都是相互关联的。DORA的报告显示,技术实践可以带来变化,但仅凭技术实践是不够的。


在 Farley 和 Humble 的《持续交付》出版十年之后,出现了很多的实践,比如分布式跟踪、混沌工程以及流量转移。他们的书重点关注了软件部署管道。他们看到很多组织已经有了针对每个环境的管道,但这是 CD 的一个反模式。他们的本意是要形成这样的一种机制,让变更从其中的一端进入,而可发布的软件从另一端输出。换句话说,持续交付的理念就是根据用户的快速反馈来校验输出。正如 Farley 所言:“团队需要有一个关于这些技术实践的伟大故事,从而实现优异的技术表现,这是 CD 的必要驱动力。”



除此之外,团队需要有一个更好的结构,这样的结构能够帮助他们更好地协作并给他们带来足够的自治性,从而能够实现持续交付,这就是 Farley 所定义的组织化方面的表现,对于任意规模的 CD 来说,要想取得成功,这都是至关重要的。此外,按照 Farley 的说法,在文化方面有良好的表现能够有助于关注团队的行为、多样化思考以及技术严谨性等方面。


所有的这些方面的表现,即技术、组织和文化,都是相互关联的。Farley 说道:“没有其他方面的辅助,组织不可能在其中的某一个方面实现成功的 CD。”为了强调这些方面的重要性,Farley 引用了《哈佛商业评论》的一篇文章,在这篇文章中,作者讨论了拥抱敏捷的几个障碍:“最大的障碍并不是需要更好的方法论、显著效益的确切性证据或者敏捷能够在 IT 领域外可行的证明,而是主管们的行为”。


考虑软件交付问题的一种方式就是使用 Stephen Bungay 的《The Art of Action》一书中的模型。组织如果试图达到一个结果,那么他们需要一个计划,然后执行这个计划以达到预期的结果。尽管如此,在这个模型中仍然存在一些鸿沟,如知识水平、人员一致性和结果的影响。Farley 说:“你不能消除这些鸿沟,但可以通过做一些事情来减弱它们”,比如限制工作的批次大小。



按照 Farley 的说法,软件开发是由学习和管理复杂性驱动的,组织需要根据这些驱动力来进行优化。例如,为了优化学习,组织可以借助反馈、渐进式工作和运行实验来学习。为了管理复杂性,组织可以实现架构化的属性,如模块化、关注点分离、内聚或松耦合。换句话说,Farley 这样总结到,“这是与工程息息相关的,应用理性的科学思维来解决经济约束下的现实问题。”


另外,Humble 强调了在 CD 中迅速获取反馈的重要性,因为“当组织在进行创新的时候,大多数的想法可能都是糟糕的想法”。在这种情况下,就判断这些想法是否正确来说,反馈就显得至关重要了,因为这些想法可能是可变和不确定的。除此之外,这种反馈有助于推动实验。在Humble、Nicole Forsgren和Gene Kim合著的《Accelerate》一书中,他们谈论了产品交付以及反馈的重要性:“产品交付会建立一个能迅速给我们质量反馈的引擎,该引擎能够让从开发到生产的关键性流程成为可能,这是产品创意所产生的引擎。”


最后,Humble 对 CD 的一个期望是“人们以 CI(Continuous Integration,持续集成)所定义的方式来开展 CI”。这意味着,开发人员每天至少要有一次提交至 master 分支或将特性分支集成至主分支。如果构建失败的话,通常需要在十分钟之内修复。并且,要有可靠的自动化测试,因为 CI 要依赖它们校验每次应用代码的变更。


在演讲的最后,有一个开放的空间来继续讨论未来十年 CD 将会变成什么样子。听众讨论了 CD 面临的挑战、业已取得的成功以及他们希望看到的变化。


DeliveryConf:有什么策略可以改变主管们的行为以适应 CD 呢?


听众:做一个成本分析(ROI),在里面放一些数字。这有助于在与主管交谈的时候提供一个凭据,这样他们能够看到 CD 的业务价值。

Farley:改变谈话的技巧很重要。在组织中,通过谈论技术策略和部署管道,我们并不能赢得组织中高级管理人员的青睐。我们需要讨论业务影响或发展能力。

听众:总体而言,你必须要产生一种改变业务的情感响应。我看到过很多次 ROI 的方式。虽然这样做可能是有价值的,但是这对于改变文化来讲还是不够的,就像通常我们所说的“文化把战略当饭吃掉了”。


DeliveryConf:在这方面,你们取得了哪些成功呢?


听众:在我们的组织中,我们曾经有一个巨大的脚本,每当我们在一个共享的地方构建时候,该脚本就开始执行交付。所以,我自愿花业余时间来改善这个管道。

听众:榜样的力量是很强大的,因为它会让更多的人参与进来。


DeliveryConf:在未来的 2 到 5 年内,你们希望看到什么变化?


听众:我建议重点培训公司内的员工,在这个方面进行投资。

听众:CEO 们要让我们对财务结果负责,当我们证明更好的 CD 实践的收益时他们要接受这一点,并持续往前推进,而不是说“我们以前不是这样做的”。


你觉得未来的几年内,CD 会是什么样子呢?


原文链接:


What Will the Next 10 Years of Continuous Delivery Look Like?


2020 年 2 月 28 日 09:001506

评论

发布
暂无评论
发现更多内容

OpenCV学习(二):环境搭建

轻口味

OpenCV图像处理 10月日更

Ember Data 之记录操作:创建、更新和删除

devpoint

store ember.js 10月日更

stm32-HAL使用usart发送中断判断发送标志库问题

良知犹存

stm32

业务中台数据一致性方案

慕枫技术笔记

后端 引航计划

【SpringCloud技术专题】「Hystrix源码」分析故障切换的运作流程

浩宇天尚

源码分析 SpringCloud Hystrix 熔断器 10月日更

在开源项目或工作项目中使用git建立fork仓库

良知犹存

git

数据库优化之explain 的使用和常用的SQL优化或索引优化

Regan Yue

数据库 数据库优化 10月日更 Regan Yue

半年时间,拍摄8省市10个案例,我们见到了这样的智能中国

脑极体

敬畏用户

FunTester

软件测试 测试 用户 FunTester 用户思维

012云原生之微服务

穿过生命散发芬芳

云原生 10月日更

架构训练营 模块九

小卷儿

MacBook的隐藏功能

IT蜗壳-Tango

10月日更

stm32-HAL使用stop模式后DMA初始化的问题

良知犹存

stm32

Linux开发coredump文件分析实战分享

良知犹存

Linux

一文带你盘点“微服务”中的技术点

Simon郎

微服务 Spring Cloud spring cloud alibaba java

容器 & 服务:Kubernetes API Server访问问题

程序员架构进阶

架构 Kubernetes 容器 10月日更 Helm Charts

设计千万级学生管理系统的考试试卷存储方案

Rabbit

Android使用adb工具及root权限完成手机抓包

杨清强

adb

架构实战营 - 模块九作业

思梦乐

产品经理如何采集需求?

石云升

产品经理 需求分析 10月日更

模块九作业:设计电商秒杀系统

Felix

马拉车算法,其实并不难!!!

秦怀杂货店

数据结构 算法 LeetCode

如何进行用户故事估算——Ethan分享观后感

Bruce Talk

敏捷 随笔 Agile User Story Product Owner

模块9

脉动

10. python入门速通教程之类、继承类、类中的特殊方法

梦想橡皮擦

10月日更

5款良心工具,专治各种流氓顽固软件!

Jackpop

微博评论高性能高可用计算架构

白开水又一杯

#架构实战营

架构实战营模块九作业-毕业设计

子豪sirius

架构实战营

别被vector最后一个元素erase错误

良知犹存

c++

技术公众号小白互助网络

Felix

GitHub 微信公众号 自媒体

模块九毕业设计

以吻封笺

4k/8k超高清时代,如何利用媒体处理技术加速数字化升级

4k/8k超高清时代,如何利用媒体处理技术加速数字化升级

持续交付未来10年会是什么样子?_持续交付_Christian Melendez_InfoQ精选文章