← 回總覽

没有自动化的持续交付会是什么样子?

📅 2026-03-21 03:01 Modern Software Engineering 软件编程 11 分鐘 12676 字 評分: 87
持续交付 CI/CD DevOps 软件工程 自动化
📌 一句话摘要 Dave Farley 和 Kevlin Henney 探讨持续交付是否可以在没有自动化的情况下存在,揭示核心原则比工具更重要。 📝 详细摘要 在这次技术讨论中,Dave Farley(《持续交付》合著者)和 Kevlin Henney 审视了一个引人深思的问题:CD 是否可以在没有自动化的情况下工作?他们追溯早期 XP 实践的历史,当时 CI 是使用铃铛和橡皮鸡而非构建服务器的社交仪式。通过一个真实的初创公司案例研究,他们证明了小批量变更和手动验证在没有 CI/CD 流水线的情况下也能有效。关键洞见是,自动化是纪律的「力量倍增器」,而非替代品。对话警告不要创建「污水管道」
Skip to main content ![Image 1: LogoBestBlogs](https://www.bestblogs.dev/ "BestBlogs.dev")Toggle navigation menu Toggle navigation menuArticlesPodcastsVideosTweetsSourcesNewsletters

⌘K

Change language Switch ThemeSign In

Narrow Mode

What Does Continuous Delivery Look Like WITHOUT Automation?

!Image 2: Modern Software Engineering Modern Software Engineering @Modern Software Engineering

One Sentence Summary

Dave Farley and Kevlin Henney explore whether Continuous Delivery can exist without automation, revealing that the core principles matter more than the tools.

Summary

In this technical discussion, Dave Farley (co-author of 'Continuous Delivery') and Kevlin Henney examine a provocative question: can CD work without automation? They trace the history from early XP practices where CI was a social ritual using bells and rubber chickens rather than build servers. Through a real-world startup case study, they demonstrate that small-batch changes and manual verification can be effective without CI/CD pipelines. The key insight is that automation is a 'force multiplier' for discipline, not a substitute for it. The conversation warns against 'sewage pipelines'—automated systems that deliver garbage faster—and emphasizes that CD's core principles (keeping software releasable, small steps, fast feedback) are more important than the specific tools used.

Main Points

* 1. CD's essence is keeping software in a releasable state, not the automation itselfWhile automation makes assessment efficient, the logical prerequisite for CD is the practice of maintaining releasability, which can theoretically be achieved manually. * 2. Early CI was a social ritual, not a technical oneKent Beck's original XP description of CI involved daily integration ceremonies using bells and rubber chickens as signals—tools that ritualized the practice before automation existed. * 3. A real startup succeeded with CD principles without any automationDave Farley shares a case where a team with no CI, no automated tests, and manual releases still benefited from CD because they made small, understandable changes that could be manually verified. * 4. Automation without discipline creates 'sewage pipelines'Tools alone are insufficient; teams with full CI/CD infrastructure but poor practices (long-lived branches, skipped tests) simply deliver flawed systems faster rather than practicing true CD.

Metadata

AI Score

87

Website youtube.com

Published At Yesterday

Length 2250 words (about 9 min)

Sign in to bookmark videos and track your viewing history. Sign in now

!Image 3: What Does Continuous Delivery Look Like WITHOUT Automation?

What Does Continuous Delivery Look Like WITHOUT Automation?

内容概要

本视频由 Modern Software Engineering 频道的 Dave Farley 和嘉宾 Kevin Henny 共同探讨了一个引人深思的话题:如果剥离了自动化,持续交付(Continuous Delivery, CD)是否还能存在?虽然现代开发通常将 CD 与自动化流水线等同视之,但两位专家指出,CD 的核心本质在于「确保软件始终处于可发布状态」的纪律与实践,而非工具本身。通过回顾极限编程的早期历史、分享初创公司的实战案例,他们揭示了小步迭代、频繁集成等核心原则如何在没有强大自动化支持的情况下依然发挥巨大威力,并警示了单纯堆砌工具而缺乏纪律所带来的反面后果。

目录

* 持续交付的本质定义 * 早期实践:没有自动化的持续集成 * 规模与复杂性的挑战 * 案例分享:初创公司的「非自动化」CD 成功经验 * 自动化作为倍增器:工具与纪律的关系 * 结论:核心原则胜过工具

持续交付的本质定义

Kevin Henny: 欢迎来到 Modern Software Engineering 频道的「大问题」栏目。今天我和 Dave Farley 要探讨的问题是:没有自动化的持续交付会是什么样子?通常我们认为 CD 与自动化密不可分,它是胜任的交付团队能力的巅峰。但如果我们拿掉自动化,会发生什么?Dave,作为这方面的专家,请先给我们一个 CD 的定义,我们再以此为基础看看能拿掉什么。 Dave Farley: 我更倾向于一个务实且可操作的定义:持续交付就是一种工作方式,确保我们的软件「始终处于可发布状态」。虽然我们通常假设这种可发布性的评估是基于自动化的,因为那是获取答案最高效的方式,但从逻辑上讲,自动化并不是绝对的先决条件。 Kevin Henny: 没错。你提到了「效率」,这暗示了即使没有自动化,我们仍然可以拥有某种有效且相对高效的流程。自动化实际上是将一系列实践固定下来,确保我们这些「软绵绵的人类」不会忘记步骤或跳过环节。

早期实践:没有自动化的持续集成

Kevin Henny: 回顾从 CD 追溯到持续集成(CI)的历史,在最初的极限编程(XP)阶段,Kent Beck 描述的 CI 并没有太多的自动化。当时虽然有版本控制系统,但并不是并发版本系统。集成是每天进行多次的社交活动,它依赖于团队纪律,是将集成视为团队内部的一种「仪式」。 Dave Farley: 确实。这说明自动化虽然极其有用,但对于建立良好的流动性来说,它并不是必要的先决条件。在我和 Jez Humble 合著的《持续交付》一书中,我们描述 CI 时甚至提到了使用「铃铛」和「橡皮鸡」作为信号。你只需要一套检查清单和这种仪式感,就能把枯燥重复的工作从人类手中外包给自动化程序。

规模与复杂性的挑战

Dave Farley: 显然,自动化能让我们做得更好、更快,尤其是在分布式团队协作时。此外,这还涉及到问题的规模。如果你只是写一行 2 + 2 = 4 的代码,手动验证其正确性并发布是非常快的。但如果你要发布的是 Android 操作系统,涉及的评估工作量就完全不同了。 Kevin Henny: 这让我想起现在的 AI 驱动开发。人们生成代码的速度极快,如果验证速度跟不上生成速度,就会出问题。仅靠人工观察和试用是不够的。我记得 90 年代初第一次接触「每日构建」时,我们虽然没有做到日内多次持续集成,但通过自动化夜间构建,确保每天都有一个可运行的系统。当时微软已经能做到每天构建整个操作系统,我们的代码规模虽然只有不到百万行,但如果不靠自动化,很难让每个人都保持同步。

案例分享:初创公司的「非自动化」CD 成功经验

Dave Farley: 我想分享一个我朋友的亲身经历。他曾在一个非常先进、极度推崇 CD 的系统(LMAX)工作,后来去了一家初创公司带领一群初出茅庐的新人。那个团队当时什么自动化都没有:没有 CI、没有自动化测试、发布流程全手工。但他坚持引入了 CD 的循环周期。 Dave Farley: 有一天他在酒馆里对我说:让我感到恐惧的是,即便没有那些自动化工具,这种工作方式依然比传统方式有效得多。原因就在于他们坚持「小步修改」。因为改动足够小,他们能理解每次改动的本质,并通过手动检查确保其正确性后再发布。当然,这也得益于他们当时还没有特别在意系统崩溃的重度用户。 Kevin Henny: 这个案例非常有启发。它证明了小步迭代是核心,而自动化是倍增器。这也引出了一个反面问题:我见过很多团队,他们拥有全套的 CD 工具和流水线,但却缺乏 CD 的灵魂。他们不在小步工作,而是陷入了漫长的分支开发中,最后面临巨大的合并地狱。他们虽然有流水线,但跳过了测试环节。这种情况下,机器的存在并不能保证你拥有了持续交付。

自动化作为倍增器:工具与纪律的关系

Dave Farley: 我之前做过一个关于「持续交付的 14 个标志」的视频,自动化测试确实是其中之一。但在某些特殊情况下,你确实可以想象没有自动化的 CD 变体。只要能保持软件始终可发布,且每一步改动都足够小,以便手动验证,这种模式就是可行的。工具虽然好,但单靠工具是不够的。 Kevin Henny: 没错。如果没有正确的流程和纪律,自动化只会加速混乱。就像一个「污水管道」而不是 CD 管道,你只是在更快地交付垃圾系统。很多人误以为 CD 的意义在于发现问题后能快速发布补丁,但 CD 的真正目的应该是持续交付新功能,而不是持续打补丁。AI 的引入也面临同样的风险:如果你只会更快地构建糟糕的系统,你只是在把瓶颈转移,并增加了故障需求。

结论:核心原则胜过工具

Dave Farley: 总结来说,在特定环境下,没有自动化的 CD 是可以运作的。最根本的基础是:以小步前进、验证每一步、并获取快速反馈。 Dave Farley: 当系统达到现实世界的复杂程度时,为了及时获得反馈,自动化就变成了必然的要求。但支撑 CD 的核心支柱始终是「小步工作」和「确保软件始终可发布」。 Kevin Henny: 这是一种哲学和纪律的基础。自动化真正的价值在于它是一个「纪律倍增器」。人类并不擅长重复劳动,我们不擅长执行循环语句,我们会疲劳、会出错。 Dave Farley: 是的,人类是不可重复且不可靠的。如果你需要一件事被可靠地执行一百万次,那正是计算机和软件的强项。 Kevin Henny: 这是一个非常合理的结论。感谢大家的收看。

!Image 4: Modern Software Engineering Modern Software Engineering @Modern Software Engineering

One Sentence Summary

Dave Farley and Kevlin Henney explore whether Continuous Delivery can exist without automation, revealing that the core principles matter more than the tools.

Summary

In this technical discussion, Dave Farley (co-author of 'Continuous Delivery') and Kevlin Henney examine a provocative question: can CD work without automation? They trace the history from early XP practices where CI was a social ritual using bells and rubber chickens rather than build servers. Through a real-world startup case study, they demonstrate that small-batch changes and manual verification can be effective without CI/CD pipelines. The key insight is that automation is a 'force multiplier' for discipline, not a substitute for it. The conversation warns against 'sewage pipelines'—automated systems that deliver garbage faster—and emphasizes that CD's core principles (keeping software releasable, small steps, fast feedback) are more important than the specific tools used.

Main Points

* 1. CD's essence is keeping software in a releasable state, not the automation itself

While automation makes assessment efficient, the logical prerequisite for CD is the practice of maintaining releasability, which can theoretically be achieved manually.

* 2. Early CI was a social ritual, not a technical one

Kent Beck's original XP description of CI involved daily integration ceremonies using bells and rubber chickens as signals—tools that ritualized the practice before automation existed.

* 3. A real startup succeeded with CD principles without any automation

Dave Farley shares a case where a team with no CI, no automated tests, and manual releases still benefited from CD because they made small, understandable changes that could be manually verified.

* 4. Automation without discipline creates 'sewage pipelines'

Tools alone are insufficient; teams with full CI/CD infrastructure but poor practices (long-lived branches, skipped tests) simply deliver flawed systems faster rather than practicing true CD.

Key Quotes

* Continuous Delivery is a way of working that ensures our software is always in a releasable state. * Automation is a discipline multiplier, not a substitute for discipline. * Humans are not good at repetitive tasks. We are not good at executing for loops. We get tired, we make mistakes. * If you're building bad systems faster with AI, you're just moving the bottleneck and adding failure demand.

AI Score

87

Website youtube.com

Published At Yesterday

Length 2250 words (about 9 min)

Tags

Continuous Delivery

CI/CD

DevOps

Software Engineering

Automation

Related Articles

* Wilson Lin on FastRender: a browser built by thousands of parallel agents * Anthropic Introduces Claude Opus 4.6 with 1M Token Context * The Truth About Developer Productivity in the AI Age (IT'S A TRAP) * Is "Testing in Production" Actually the Safest Way to Ship? * It’s Time We Go Beyond The Test Pyramid (& Do This Instead) * How Claude Code Works - Jared Zoneraich, PromptLayer * Building Claude Code with Boris Cherny * What's the EXACT Technical Gap That Separates AI SUCCESS From AI FAILURE? * Head of Claude Code: What happens after coding is solved | Boris Cherny * The Simplest Way to Make Your Architecture Testable and Reproducible (Works Every Time) HomeArticlesPodcastsVideosTweets

What Does Continuous Delivery Look Like Without Automatio...

查看原文 → 發佈: 2026-03-21 03:01:02 收錄: 2026-03-21 08:00:54

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。