为什么不在星期五部署?

Joel在StackOverflow播客#24中提到,FogCreek公司的政策是不在星期五运送软件。 但是,他没有详细说明为什么。

我同意。 在我的雇主,我们周四晚上部署。 所以我们有星期五来清理所有错过质量保证(QA)的错误。

但是,我的经理build议,如果QA没有足够的时间在发布之前testing软件,我们会在星期五晚上进行部署。 我说,人们的周末计划呢? 如果我们在星期五晚上部署,那么我们就必须在星期六工作来清理所有错过的漏洞。

那么为什么不在周五发货?

*我们可能(不确定)需要做出这样的假设:一个核心软件开发团队位于一个时区,部署其公司的核心Web应用程序。

这不只是一个错误的问题。 可能还有其他相关的支持负担 – 向用户解释新function,监控没有性能问题。

一个新的版本通常意味着一个短暂的支持活动 – 所以安排这种情况发生在人数较less的时候(或者当时间比较多时),这是一个坏主意。

你几乎回答了你自己的问题。 这是一个简短又甜蜜的理由:如果你在星期五发货,并且有一个bug投入生产,那么在下个星期一之前,通常没有人会修理它或与客户交谈。 在最坏的情况下,这可能会有几天的收入损失。

不要在星期五部署,因为:

  1. 这是本周末,所以人们不那么尖锐
  2. 这是本周末,所以人们无法修复错误
  3. 这是本周末,所以人们无法回答问题
  4. 这是本周末,那你为什么要部署呢?

这取决于你的目标群体。 我们主要在星期五部署。 我们的基于浏览器的产品在全球范围内由客户使用,但主要在办公时间使用。 这意味着如果我们要确保我们不影响任何客户(印度和中东在星期六下class不下class),我们除了星期天上午以外没有其他时间,但总的来说,我们“妥协”并部署星期五下午。

如果以前在星期二我们想要部署新东西的数据点上工作的话,那么周末和周末的午餐时间周末会奇怪地达到顶峰。

无论如何,这归结为2个考虑因素。 1.什么时候对客户(如果是networking应用程序)起到最小的破坏作用?2.什么时候最适合与开发团队紧密合作来解决重要的错误?

如果你担心你的开发人员在本周末之前变得不稳定,那么你的QApipe道可能太短了。

这实际上取决于你的应用程序,以及周末的繁忙程度。

我们通常不会在星期五部署软件,但通常在周六或周日这样做。 我们星期天早上发现特别好,以减less发布的影响。

这实际上取决于您是否试图最大限度地减less任何停机时间的影响,或者减less任何潜在的错误。

除非客户实际使用该系统(大多数情况下),否则您不会看到任何错误,因此周五的部署相当于周一早上部署,如果周末使用率较低。

另一方面,像网上购物这样的东西在周末往往会有更多的用途,所以你一定不要在周五部署其中的一个。

这也取决于您的超时支持政策。 如果你有一个能够回滚软件的人,那么风险就不那么大了。 不过,我宁愿在工作周期间这样做。

我们通常在星期二 – 星期四部署东西,宁愿避免星期一(我们最繁忙的一天)和周末(当一个bug可以不被注意地引起问题)

我们避免在星期四星期五发布代码 – 没有人愿意花费星期五来计算出任务关键性的bug,而且即使我们在1天内完成修复,至less在另一天才能发布,这意味着要么在周末工作,要么在下周之前不能修复。

我们通常在星期二进行部署,然后我们有剩下的时间来解决任何问题。 这也取决于行业,如果周末没有工作,也许可以周五晚上部署,但如果他们正在工作,那么这不是一个好主意。

对于周五的人来说,他们往往会更加sl((已经在想着这个热门的日子|两种啤酒都是这样),还有在离开休假前的日子;-)

我曾和一家有周五部署政策​​的公司合作, 他们在以色列,星期六通常是工作周的最后一天。 无论如何…

在我的最后一个公司,政策是在周二和周四的午餐时间之前向Ops提供部署包。 这意味着他们有半天的时间才能把它拿出来,并要求在前期QA的最后阶段出现任何问题的时候进行微调。 (任何其他质量保证都可能在一周的任何时候发生,因为它没有生效。)

如果Ops有时间去做(当然,这应该在手前预订),但是从来没有释放到现场:

星期一 – 糟糕,你刚刚从周末回来(希望是非工作的),周末不会有你上周做的所有事情。 星期三 – 通常是一周中生产力最低的一天,作为“工作中的一天”。 如果您的位置是星期二,而您错过了错误,周三可能是一个不好的select,因为您没有足够的时间来修复和testing这些错误。 星期五 – 来吧。 真的吗? 是星期五。 如果这真的需要解释,那么你没有足够的经验来做你所处的那种pipe理职位。但是,严重的是,这是因为在星期五部署意味着自愿让客户在周末进来testing你的工作环境。 对我来说,这可能会打败你可能正在为自己打拼的白痴。

我永远不会计划星期五的部署,除非我也计划星期六在办公室validation它的工作是否正确,如果你最后在星期五因为滑动而部署,你就有很大的冲动的危险, ,让大家在周末冷静下来,然后在星期一上午回顾之后发货。

如果你的部署周末运行,周五晚上开始可以给你一个良好的开局,因为办公室往往会提前一点清理,所以总体系统负载将低于周一早上。

星期五你应该部署,这样你周末就可以清理它,并且在星期一你的团队注意到你的疏忽之前修正错误。

我们很幸运地利用时差,我们在世界各地都有办事处。 因此,在更新客户时,我们安排它,以便客户在一夜之间完成,以尽量减less对客户的影响。

当你控制你的软件的实现和部署时,这个效果很好,但是在网站上发布是另一个动物。 正如其他人已经指出,确保你允许时间:

  1. 支持可能发生的怪癖和错误
  2. 在转换中支持用户
  3. 最后一分钟的修补程序