Joel 在 StackOverflow 播客 #24 中提到,FogCreek 公司的政策是周五不发布软件。不过,他没有详细说明原因。

我同意。在我的雇主,我们在周四晚上进行部署。因此,我们有周五的时间来清理任何错过质量保证 (QA) 的错误。

然而,我的经理建议我们在周五晚上进行部署,以防 QA 在发布前没有足够的时间来测试软件。我说,人们的周末计划怎么样?如果我们在周五晚上部署,那么我们就必须在周六工作来清理任何遗漏的错误——这很糟糕。

那么为什么不在周五发布软件呢?

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

有帮助吗?

解决方案

它不是 只是 一个错误。可能还有其他相关的支持负担 - 向用户解释新功能,并监视没有性能问题。

新版本通常意味着支持活动的简短激增 - 因此,在可用的人(或者有更多的怨恨时间)是一个坏主意时,请安排这种情况。

其他提示

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

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

您几乎回答了自己的问题。这是一个简短而甜蜜的原因:如果您在星期五运送,并且一个错误将其用于生产,那么通常没有人可以修复它或与客户交谈,直到下一个星期一。在最坏的情况下,这可能是几天的收入损失。

我们避免在星期四发布代码 或者 星期五 - 没有人愿意花他们的星期五弄清楚任务关键虫子,而且很有可能我们在1天内制作了修复程序,至少会在释放它之前的另一天,这意味着要么在周末工作,要么直到下周才固定。

这取决于您的目标组。我们主要在星期五部署。我们的基于浏览器的产品在全球范围内使用,但主要是在办公时间。这意味着,如果我们想确保我们不会影响任何客户(印度和中东不会在周六的办公室工作中下车),那么我们实际上没有任何时间,但通常我们“妥协”并部署星期五下午。

如果以前在Datingsite上工作,我们理想地想在星期二左右部署新的东西,因为活动在周末左右达到顶峰,而奇怪的是星期一午餐。

无论如何,它归结为2个考虑因素。 1.何时对您的客户(如果是Web应用程序)和2.何时将其最适合Dev团队进行固定关键的错误。

如果您担心开发人员在本周末结束时会变得草率,那么您的QA管道可能太短了。

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

对此,人们在周五(已经在考虑那个热约会|冰啤酒|两者)和出发度假前几天往往会比较草率;-)

这实际上取决于您的应用程序以及周末的忙碌 /危机。

我们通常不会在星期五部署软件,但通常在星期六或周日这样做。我们发现周日早上特别好,可以最大程度地减少发行的影响。

这实际上取决于您是否试图最大程度地减少需要发布的任何停机时间的影响,还是减轻任何潜在的错误。

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

另一方面,在线购物之类的东西往往在周末使用更多的用法,因此,您肯定会建议您不要在星期五部署其中一个。

这也取决于您的下班时间支持政策。如果您有一个可以将软件回滚的人,那就是风险。尽管如此,我还是宁愿在工作周内这样做。

我们通常会在星期二至周四部署东西,宁愿避免星期一(我们最忙的一天)和周末(当时虫子可能会遇到不知不觉,从而导致问题)

应该 周五部署,以便您整个周末都可以清理并修复错误,然后您的其他团队在周一注意到您的监督。

除非我还打算在周六在办公室里验证它的正常工作,否则我永远不会计划进行星期五的部署,如果您由于滑倒而最终在星期五部署,让所有人在周末冷静下来,然后在早上进行审查后在星期一发货。

如果您的部署在周末运行,那么从星期五晚上开始可以为您提供良好的开端,因为办公室经常会更早清除,因此整体系统负载将比周一早上说。

我曾在一家公司工作,该公司的政策是周五部署;他们在以色列,星期六通常是工作周的最后一天。反正...

在我上一家公司,政策是在周二和周四的午餐时间之前向运营人员提供部署包。这意味着如果上线前最后阶段的 QA 出现任何问题,他们有半天的时间来完成并要求进行微调。(任何其他 QA 都可以在一周中的任何时间进行,因为它不是实时的。)

如果运维人员有时间的话,可以随时发布到除 live 之外的任何环境(当然,无论如何都应该提前预订),但永远不要发布到 live:

周一——糟糕的是,你刚刚从(希望是非工作的)周末回来,你的脑海中不会浮现上周所做的一切。星期三——通常是一周中效率最低的一天,也是“工作中间”的一天。如果您的时段是星期二,并且由于错误而错过了它,那么星期三可能是一个糟糕的选择,因为您没有提供足够的时间来修复和测试这些错误。星期五-来吧。严重地?是星期五。如果这确实需要解释,那么你的经验还不够丰富,无法胜任你现在所处的管理职位。但说实话,这是因为周五部署意味着您的客户自愿在周末来测试您在现场环境中的工作。对我来说,这胜过你可能会做出的任何愚蠢行为。

我们很幸运能够充分利用时间差异,我们在世界各地设有办事处。因此,在向客户进行更新时,我们会安排它,以便为客户一夜之间完成,以最大程度地减少对他们的影响。

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

  1. 支持可能发生的怪癖和错误
  2. 在过渡中支持用户
  3. 最后一分钟的热门修复
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top