11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

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

  • 2020-02-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-02-28 09:001563

评论

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

Spring事务@Transactional底层原理

公众号:好奇心森林

spring 事务 hiber

在线文档的开发难度与突破

葡萄城技术团队

分布式协同 SpreadJS 在线文档

足不出户“逛”银行,37家城商行、农商行手机银行App性能大比拼

博睿数据

APM App 评测 网银 银行

别在发愁写页面了,强烈推荐几款傻瓜式扒网站神器!!

公众号:V5codings

20200518-20200524朋友圈思考汇总

仙女的猪

日常思考

Jsp页面报错后如何找到提示信息中的_jsp.java文件

阡陌r

微信gif图片大小的规则

石云升

微信 GIF

坚持ARTS(week-1)

王钰淇

ARTS 打卡计划

企业微信机器人在大型财务共享中心的应用实践

DT极客

人工智能学习心得--人工智能分类

岛乾坤

AI

python实现·十大排序算法之归并排序(Merge Sort)

南风以南

Python 排序算法 归并排序

我是程序员,我为自己代言,我相信程序改变世界,虽然少不了质疑和嘲笑

程序员陆通

编程 程序员 高薪 代码

Cassandra集群架构及算法剖析

老任物联网杂谈

大数据 分布式 Cassandra 时序数据库

理解这八大优势,才算精通单元测试

禅道项目管理

测试 单元测试

ARTS第一周

困到清醒

ARTS 打卡计划 起跑

产品周刊 | 第 16 期(20200524)

Herbert

产品 设计 产品经理 产品设计

ARTS打卡第一周

落曦

最优组合问题-贪心算法

公众号:好奇心森林

JUC整理笔记二之聊聊volatile

JFound

从零到部署:用 Vue 和 Express 实现迷你全栈电商应用(二)

图雀社区

node.js vue.js Vue

Java | @Override 不要再把它当成可有可无的了

YoungZY

Java 注解 Override annotation

回“疫”录(24):开始了就不算晚

小天同学

疫情 个人成长 回忆录 个人感想 日常思考

重学 Java 设计模式:实战抽象工厂模式

小傅哥

设计模式 小傅哥 重构 代码质量 代码坏味道

列个清单-《清单革命》

Jack Hong

爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【1】-前期准备

hadesxiong

Python 爬虫 保险 Scrapy

绿宝这条宝藏街,夜宵也太太太太太好吃了吧!

极客编

Implement Stack using Queues

Forelax

LeetCode

DDD 中的那些模式 — CQRS

Joshua

领域驱动设计 DDD 事件驱动 CQRS Event Driven

ziliqa生态打造区块链技术实体应用新标杆

极客编

ARTS 打卡 WEEK1

编程之心

ARTS 打卡计划

思考:如何打造一个优秀的研发体系?

菜根老谭

研发管理 研发效能 研发体系

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