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

阅读数:3 2020 年 2 月 28 日 09:00

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

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

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

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

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

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

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

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

按照 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?

评论

发布