题 为什么不在星期五部署? [关闭]


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

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

但是,我的经理建议我们在星期五晚上部署,因为QA没有足够的时间在发布之前测试软件。我说,人们的周末计划怎么样?如果我们在星期五晚上部署,那么我们必须在周六工作以清除任何错过的错误 - 这很糟糕。

那么为什么不在星期五发货呢?

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


81
2018-01-22 07:04


起源


如果这是我的过程,它将在周三进行部署,中周给你几天时间来解决周末前的问题 - CVertex
Apple通常在周二部署。 - mouviciel
星期二的好处是你周一有最后的检查,也许是练习部署,所以每个人都在同一个页面上,它会给你剩下的时间来处理所有出现的事情。到星期五,你会知道你是否必须在那个周末工作。 - Mike DeSimone
我没有看到这与编程无关。编程部署代码的最终结果不是? - womp
@womp如果我遵循你的推理,那么部署代码最终是为了实现一些面向业务的需求。这应该证明任何与业务相关的问题吗? - Pascal Thivent


答案:


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

新版本通常意味着支持活动的短暂增长 - 因此,当可用人数较少时(或者当时对时间的反应更加不满时)安排这是一个坏主意。


66
2018-01-22 07:16



jon skeet在他喜欢的任何时候发布代码,对吧?! - Matt
@Matt - 如果这一天从星期五开始,当Jon发布他的软件时,Jon Skeet不会将他的发布时间表调整到日历......日历会根据他的发布时间表进行调整。 - Newtopian
@Newtopian:你和Chuck Norris混在一起,Jon Skeet只是一个谷歌机器人 - Niteriter
@Matt,更正:Jon Skeet从不编译Debug配置中的代码,只有Release。编译完成后,新版本会立即发送给全世界的客户。他喜欢这样。
我的工作室似乎有一个糟糕的习惯,周五推出。我可以说一个事实,我的老板在周六/周日得到了大部分愤怒的客户电话,当时有些事情被遗漏了。 (永远不要在星期五上映) - ChristoKiwi


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


40
2018-01-22 07:07



同样在这里。我正在为制造公司开发内部软件,所以我没有外部客户。但是我们的用户在周末和夜班工作,所以星期五晚上部署将是我们能做的最糟糕的事情:-) - Christian Specht


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

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

34
2018-01-22 08:48



KIIS - 你不能说得更好。 .. - R Claven


我们避免在星期四发布代码 要么 星期五 - 没有人愿意花费他们的星期五来解决任务关键错误,并且即使我们确实在1天内完成修复,也可能至少在它发布之前的另一天,这意味着要么在周末工作,要么它直到下周才得到修复。


6
2018-01-22 15:16





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

如果我们之前在一个约会地点上工作,我们理想地想在周二部署新的东西,因为活动在周末达到顶峰,奇怪的是,周一午餐时间。

无论如何,它归结为两个考虑因素。 1.什么时候对您的客户来说是最不具破坏性的(如果它是一个Web应用程序)和2.什么时候它最适合开发团队来解决关键错误。

如果您担心开发人员在本周末接近马虎,那么您的QA管道可能太短。


5
2018-01-22 09:01





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

对于那个人来说,星期五(已经考虑过那个热门的日期|冷啤酒|两者)和离开度假的前几天往往会更加草率;-)


4
2018-01-22 07:20





这实际上取决于您的应用程序以及周末的繁忙/关键程度。

我们通常不会在星期五部署软件,但通常在星期六或星期日进行部署。我们发现星期天早上特别好,以尽量减少释放的影响。

这取决于您是否正在尝试最小化您发布所需的任何停机时间的影响,或者减轻任何潜在的错误。

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

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

这还取决于您的非工作时间支持政策。如果您有随叫随到的人可以回滚软件,那么风险就会降低。不过,我宁愿在工作周期间这样做。

我们通常在星期二 - 星期四部署东西,宁愿避免星期一(我们最繁忙的一天)和周末(当一个错误被忽视而引起问题)


4
2018-01-22 07:21





应该 周五进行部署,这样你就可以整个周末清理它并修复bug,然后你的团队其他成员会在周一注意到你的疏忽。


4
2017-08-05 14:01