定义“生产就绪”


25

我一直对此感到好奇。“生产就绪”或其变体到底是什么意思?最近,我在寻找有关sqlite的信息并找到了该线程,许多人认为sqlite尚未准备好进行生产。

我知道开发/测试与生产之间的区别;我对生产的定义是提供给客户或将由非程序员使用的任何产品。

但是,似乎有很多项目尚未定义为可投入生产。但实际上,它们可能是非常合适的,人们只是对它们有一个偏见,例如sqlite,python,非MS产品等。

小型办公室还是企业?单用户还是多用户?客户端还是服务器?您在哪里划界线?


2
“它可以在我的机器上工作。”?
赢得Rook

2
代码状态是何时该交付代码。
吉尔伯特·勒·布兰科

Answers:


41

取决于你是谁。

程序员对“生产就绪”的定义:

  • 它运行
  • 满足项目要求
  • 其设计经过深思熟虑
  • 很稳定
  • 它是可维护的
  • 它是可扩展的
  • 有记录

管理层对“生产就绪”的定义:

  • 它运行
  • 会赚钱

很抱歉重新提出这个旧问题,但我遇到了这个问题,无法抗拒。


我要添加到此列表中的一件大事是..当发生故障时,系统会提供足够的信息,您可以找出来。
ShaneC 2011年

而且不要忘了,ops的定义:监视当前,有据可查且易于更新的路径,发布计划,安全性,性能,自动化…………有些人可能会将其置于“项目需求”和“可维护”的重点之下。当时,人们对运维人员的看法不见了。(仅适用于通过ops人员运行的软件)
Christian

6
今天发现了这一点,我很想通过删除管理段落中的“运行”部分来更改答案;-)
Doc Brown,

8

通常,“ X尚未准备就绪”意味着存在缺少功能,稳定性和/或可伸缩性的问题,因此它可用于要求不高的方案,但对于大规模部署(企业和Internet级别的部署)可能会失败。


1

有许多定义可用于“生产就绪”。

下面列出了我自己的个人解决方案-它们都有些实用,并且非常依赖于上下文-在某些情况下,相同的精确解决方案可以视为“生产就绪”,而在另一种情况下,相同的解决方案有时(从字面意义上讲)是“已准备好在我的尸体上生产”。

以下所有定义均假定“生产”具有“某些严重结果取决于产品成功运行”的上下文。

  • 换句话说,运行“内华达州最佳兰花”免费论坛的软件每月可为您带来3美元的AdSense收入,这远远超出了生产环境”,而航天飞机固件正是在这种情况下。

  • 其他所有内容都是规模化的,有些东西有些灰暗(例如,一些软件在进行学术研究-一方面,如果在一般情况下中断,则不会对生产产生明显影响;另一方面,数十亿美元的政治决策由政府根据一些具体研究做出)。

我现在可以提出2个定义:

  1. 在标准风险分析下,可用于发生故障时暗示有重大损失的目的。

    这并不意味着不能保证没有破损/错误-没有软件可以做到-而是可以达到预期目的的稳定性的合理程度的确定性。

    例如,使用此解决方案的好处要大于破损的潜在损失量乘以破损的可能性。

    因此,Java臭名昭著的“不用于核电站”免责声明。

  2. 可以合理预期您的同行已经通过了尽职调查。

    例如,如果发生诉讼,如果要求您来自给定领域的N位随机专家集合“给出这些详细信息,那么该产品准备好了吗?”,则您可以合理地确定大多数此类专家会同意您的意见,根据您在这种情况下可以合理地进行的调查和工作努力,做好准备。如果您未能编写超过10%的测试用例,则您的“尽职调查”将失败。如果您的程序由于gcc编译器中的一个先前未知的错误而失败,则除非您的软件运行的是至关重要的东西,并且必须对它进行仔细检查才能发现该错误,否则您可能不会失败。


0

SQLite不用于生产数据库,因为它是明确设计的,没有许多被认为是“必需”的功能。例如,锁会影响整个数据库,没有外键,直到SQLite3都没有任何数据类型。

更普遍的说,这意味着一个在少数开发中可以正常运行的用户(1-5)正常工作的系统会在承受重负荷时崩溃并烧毁。


我应该提到,这也取决于应用程序所使用的环境。回到SQLite示例,如果只有一个客户端,则非常适合在生产中使用。Mac OS X通过CoreData框架广泛使用SQLite-我相信它可以处理用户的iTunes音乐数据库和iMail邮箱之类的事情。只是不要尝试像真正的客户端服务器数据库那样使用它。


0

正如您在问题的后半部分所建议的那样,“生产就绪”不一定是部署规模的定义,而是适合其预期的用途和要求。例如,对于单用户客户端应用程序,SQLite可能已准备就绪。预期市场通常会在使用某个应用程序或系统时确定该应用程序或系统是否已准备好投入生产。


0

我们将要交付生产的内部定义非常简单...

  • 没有严重性1的问题。和,
  • 没有标记为“已知可运输”的严重性2问题未解决

KS决定由我和另一个人做出。


-2

好吧,我已经准备好进行生产了,它已经被管理层批准了。它甚至可以说p字之前就已经运行,符合要求或其可伸缩性等已经满足。从管理的角度来看,签字是双方共同同意的退出点。附言 我不会考虑有任何生产准备就绪,而有4个bug仍未解决。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.