星期五部署?禁令未能实现理想目标

星期五部署?禁令未能实现理想目标

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

避免在星期五部署的目标可以通过其他方式更好地实现。行业并不认同不应在星期五部署的观点。应根据问题的解决方案菜单选择适当的实践。改进部署流程可以降低失败部署的风险。连续部署和DevOps可以提高软件交付性能。

🔎

延伸解读

“周五不部署”为何站不住脚

文章指出,避免周五部署的常见理由是让开发者周末休息,但这只在恢复时间恰好约一天时成立。恢复时间并非恒定,若超过一天,周四部署也可能导致周末加班。因此,单纯禁止周五部署并不能保护周末,反而可能将失败风险转移到周一,增加周一部署的失败概率。

从“最佳实践”到“合适实践”

文章强调,真正的最佳实践很少,许多只是良好实践,组织应根据问题从解决方案菜单中选择,避免不必要的复杂性。有些被奉为最佳实践的做法,如Gitflow、大批量工作和重型变更审批,反而有害。因此,不应将“周五不部署”作为最佳实践传播,而应基于具体情境选择实践。

数据揭示的真实部署习惯

作者分析超过3200万次部署后发现,周五部署比周一更常见,表明行业并未普遍接受“周五不部署”的神话。顶尖表现者每天多次部署,包括周五。这说明禁止周五部署在实践中缺乏吸引力,且可能降低交付性能,因为排除周五会导致周一部署批量增大。

何时需要规划部署时间

文章承认,特定行业确实需要避免某些部署时间,例如零售业在营业时间不更新收银软件。关键在于考虑受软件影响的所有人,而不仅仅是开发者。通过改进部署流程降低失败风险,比简单禁止某天部署更能保护工作与生活平衡。

❓

Q&A

为什么行业普遍不认同在星期五部署的禁令?

行业普遍认为在星期五部署并不会导致更高的失败率,反而在实践中,星期五的部署比星期一更常见。

如何改进部署流程以降低失败风险?

可以通过选择适当的实践和改进部署管道来降低失败风险,避免不必要的复杂性。

在特定行业中,是否有避免在特定时间部署的理由?

是的,某些行业如零售,确实有避免在特定时间部署的理由,例如在顾客排队结账时不更新软件。

为什么有些被认为是最佳实践的做法实际上是有害的?

一些被称为最佳实践的做法,如Gitflow和大型批量工作,经过实证研究证明可能会对软件交付产生负面影响。

如何评估是否应该在星期五部署?

组织可以根据自身情况决定是否在星期五部署,但不应将其视为普遍的最佳实践,需考虑具体的上下文。

部署频率与恢复时间之间有什么关系?

部署频率和恢复时间的分布影响工作周末的安排,频繁部署可以降低周末工作的概率。

🏷️

标签

➡️

继续阅读