您应该多久发布一次软件更新?

时间:2008-12-11 16:45:30

标签: release release-management

片刻之前Jeff Atwood said the following on twitter

  

看,我喜欢快速发布的新软件,但WordPress发布的频率非常荒谬。

这让我觉得,您应该多久发布一次软件更新?

  • 每日?
  • 每周?
  • 每月?
  • 每年?

什么是最佳发布策略?

15 个答案:

答案 0 :(得分:16)

我会说在WordPress的具体案例中,他们会混淆“安全更新”和“功能更新”。这很糟糕。

这就像每次发现安全漏洞时都必须重新安装Windows,而不是每周只下载一个小补丁。

WordPress需要一个简单,快速且易于安全更新的安全补丁机制。与新版本的正常升级流程分开的流程。

答案 1 :(得分:8)

Wordpress版本的频率非常频繁,因为它们关心安全性并发布可以尽快修复已知漏洞的更新。对Wordpress的功能更新发生的频率要低得多,我认为每4到6个月就会发生一次。

我认为这是一个很好的模型。定期发布新功能让客户满意,但如果发现安全漏洞,请立即发布修复程序。

答案 2 :(得分:7)

我会建议如下:

updateTime(以秒为单位) - 用户执行更新所需的平均时间

releaseDelta(以天为单位) - 发布之间的最短时间

releaseDelta = updateTime/((1/365)*(60*60*8))

此公式基于我的理论,即用户在任何特定年份不得不花费不超过8小时等待应用程序的更新。

只要以透明的方式完成更新而不中断最终用户,这也允许频繁更新。

答案 3 :(得分:3)

我认为这在很大程度上取决于你的特殊情况。话虽这么说,我认为任何严肃的商业应用程序的每日发布只是完全荒谬。如果你每天都在发布,那么可能存在一个严重的问题,除非你处于一些非常奇怪的情况,即业务规则不断变化或类似的情况。

答案 4 :(得分:2)

比iTunes更新频率低。

答案 5 :(得分:2)

我尝试使用以下内容,希望简单,由两部分组成的指南:

  1. 如果它要求用户下载和/或安装某些内容,或者更改他们维护的现有代码库,那么版本需要提供重要的优点。这个版本增加了重要的新功能,解决了大量问题,或修复了少量紧迫而紧迫的问题。
  2. 如果不需要用户下载和/或安装发行版,则计划发生,如迭代所示。如果在迭代结束时有可释放的产品,它将被部署。迭代将包含在迭代开始之前确定的技术和业务需求。
  3. 因此,对我们而言,桌面应用程序或Web服务等内容通常属于第一条规则,而我们的网站等内容则属于第二条规则。我们进行了相当大规模的迭代 - 目前大约有四到六周的开发时间,明年减少到两到四周。这是我们对Scrum-hybrid的“介绍”。

    请注意,产品并不总是必须处于开发阶段(或参与迭代)。如果适用第一条规则,则产品很可能会过时,直到需要更改为止。

答案 6 :(得分:2)

这取决于客户的配置控制方法。

他们有选择,你知道。最终他们可以选择不使用您的产品。

如果客户每天都会接受您更改的内容,并且他们不在乎,并且没有任何培训或配置管理影响;有自动更新。

拥有SOE(标准操作环境)的客户讨厌更新。

意识到有些客户不会接受“回家”的软件。 他们希望主持自己的更新。他们的IT人员必须参与其中。 这对他们来说更有用。

有些客户希望/需要做自己的QA;取决于客户和软件的类型。

如果客户需要进行测试/工作以接受/部署软件,请释放测试/部署周期的多个长度。除非客户对交错部署和测试没有问题。这就是他们总是在测试新版本的地方,然后推出它。

例如:2周的测试时间,不超过每8周一次。

在结果关键软件中,发布测试可能需要几个月的时间。他们将业务押在结果上,并且有理由保持谨慎。所以每6个月发布一次。

在安全关键软件中,可能需要数月才能完成。每年,或大约每18个月并不少见。更不经常是很正常的。

答案 7 :(得分:1)

没有正确答案,这实际上取决于产品。

我最多每月说一次。每周/每日太频繁,除非应用程序更新以自动且透明的方式完成,例如, Firefox的更新系统

答案 8 :(得分:1)

您可以根据需要随时发布它们。让用户感到沮丧的是他们不知道他们是否需要你的新版本。这意味着您需要非常清楚自己实施了哪些新功能,修复了哪些错误,以及是否修复了任何安全问题。更重要的是,您的用户希望能够相信,如果他们确实安装了新版本,则没有任何内容被破坏。

答案 9 :(得分:1)

我认为,如果可能您应该在需要时自动更新,以便保持整个更新过程顺畅和不可见给用户尽可能。

答案 10 :(得分:1)

对于我工作的地区,工业控制,很少。我们通常会在2年内发布一个主要版本。次要版本可能每3到6个月发布一次。 Bug补丁当然是一个不同的故事,它们会根据需要发布。即使这样,很少有客户会升级现有系统。当然,在其他领域,升级更受欢迎。

答案 11 :(得分:0)

当你有新功能/错误修复值得释放时?为什么要按计划进行?

答案 12 :(得分:0)

我不反对安全漏洞一旦被发现就得到修复 - 尽管我希望他们首先编写更强大的代码。我反对的(至少就像Wordpress一样)是增强版本,它可能会过快地破坏插件的发生。从2.5到2.6需要多长时间? 2.7也很快出现。

自动升级或半自动升级可以缓解部分问题,但前提是插件编写者也会升级,或者如果他们将安全修复程序与功能更改分开,那么我可以坚持使用2.5但仍然是最新的使用安全补丁,直到我确定我使用的所有插件都使用2.6或2.7或(当时)4.0。

答案 13 :(得分:0)

每当他们被要求时。请记住,一些用户感觉更安全定期更新,而有些人只是每天都有一个弹出窗口感到恼火“有129个新的安装更新!点击这里等待20分钟下载,然后另外10个安装它们!” ......你明白我的观点。

答案 14 :(得分:0)

这取决于升级的性质和完成升级所需的用户干预量。

如果它是一个网站,你可以每天升级,只要你不破坏任何东西。

如果是免费的安全更新,请尽快获得ASAP。

如果必须由用户安装,免费的错误修复升级不应超过每两个月。

任何必须支付的费用都不能比每年一次更频繁,否则人们会开始觉得被利用了。对于某些类别的软件,例如操作系统,甚至更多。