为什么我们需要优先级和严重性?


11

我了解他们的决定,但是将其分配给发现的问题真的有用吗?我的意思是,要么需要快速修复,要么不要求修复。

我知道如何设置它们,对其进行分类等。我知道IEEE / ISO确实需要这样做。我只是不明白为什么。


嗯,我认为会损坏数据的错误要比令人讨厌的错误(例如某些功能加载时间过长)严重得多。两者都应固定,但负面影响较大的应首先固定。
thorstenmüller'15

不,正如我写的那样,我知道它们是什么或如何设置它们。我只是没有其他好处。
Pietross 2015年


在大多数情况下,不会。但是,在某些情况下总是有必要将两者分开。仅仅为了迎合那些难得的机会而在每个问题上保持这种分离是否值得,是另一回事。
biziclop 2015年

1
您可能会遇到一个UI错误,该错误实际上并不会影响应用程序的可用性(严重性较低),但由于它很丑陋,因此被列为最高优先级。你可以有完全(崩溃的应用程序中的错误严重程度高),但它是一个低优先级,因为条件做到这一点是万里挑一的,并在所有实际上将永远不会真正发生(这忽略了一个事实一个在-十分之九的机会有100万
Binary Worrier 2015年

Answers:


24

绝对有可能使这些值不同。如果您要出售给需要高性能但又不会使用模块X的重要政府机构,那么比X模块中的严重错误更早修复较小的数据库可用性错误在很大程度上具有商业意义。基本上,技术原因不是您从事软件业务的唯一因素。


确切地说:优先级表示业务价值,是项目管理的结果。严重性表示影响,是漏洞的结果。每个任务都可以具有优先级,但是例如新功能没有严格性。除了对安全至关重要的高严重性漏洞之外,仅由严重性来决定优先级是愚蠢的,否则人们会被误导以至于夸大其问题的严重性。
阿蒙(Amon)2015年

5
我认为重要的是,只有一项措施(优先级)直接控制着发展的顺序。团队极力主张在缺陷描述中团队发现额外的“严重性”有多有用:有些人可能会觉得有帮助,@ arnaud之类的人则认为这是“官僚制”-两种观点都可能是合理的。
布朗

4
高优先级,低严重性:每月有数百万用户看到的应用程序登录页面中,您的公司名称有错字。低优先级,高严重性:对于下周要淘汰的应用程序,系统在启动时会崩溃25%的时间。

2
严重性通常可以由自动化和实时测试人员根据规则确定。优先级只能由企业主观评估。

3

日期和时间错误

错误:年末处理将完全破坏您的数据库。这显然是一个严重的错误。

日期:12月15日。该错误具有很高的优先级。

日期:2月1日。该错误的优先级较低。


意外发射导弹漏洞

错误:从2月28日到3月1日,ICBM控制软件会被4整除的年份。

这与可能存在的错误一样严重。但是,优先级非常低-触发条件时,是否有实际的机会使用该软件?


屏幕上不经意的“坏”字

错误:消息在屏幕上的空间溢出时,会导致无意中亵渎了对Bob的引用。(现实世界:我们在“最终屁股”部门工作。“屁股” =“装配体”。)

不幸的是,明天您将在演示文稿中说明如何获得销售对公司而言是成败。您正在向名为“鲍勃”的人做演示。严重程度:非常低。优先级:非常高。


与您提到的“溢出”和“日期时间”错误相关-您可能会喜欢月相错误

0

你写了:

我的意思是,要么需要快速修复,要么不要求修复。

那是对的。但是,如果您像大多数公司一样,您的资源是有限的。您可能没有足够的人员来解决所有问题,或者您没有足够的时间。

鉴于需要快速修复或不快速修复错误,并且您有很多错误需要修复,因此“优先级”回答了以下问题:“我应该首先修复哪个”?

另一方面,严重性是设置优先级的人员使用的指标。从开发人员的角度来看,严重性是一个有争议的问题。从一项分配工作的角度来看,严重性是有助于决策过程的重要信息。

当然,所有这些都是非常笼统的信息。如果您的团队积压了很长的错误,那么优先级和严重性就意味着与拥有几乎空的错误数据库的团队完全不同。

如果您所在的团队具有“高严重性==高优先级”,那么这都不重要,也不需要两个指标。归根结底,这些只是工具。您的团队需要决定如何使用它们。对于您的团队来说,同时使用两者可能没有任何意义。


0

恕我直言,将优先级和严重性都放在官僚机构中。

实际上,您只需要一种“重要性”度量。通常,将优先级用于优先级,然后将严重性用作技术术语,例如“高=崩溃系统或使其无法使用”,“中等=有故障的行为,潜在有害”,“低=令人讨厌,烦人但无害”

通常,优先级与严重性并存。一些反例是“每个人总是抱怨的烦人”或“在异国环境中曾经发生过一次崩溃”。

...但是,最后,作为开发人员(或经理等),您只需要知道您应该按什么顺序来解决/改进问题,仅此而已。因此,一种措施就足够了。

优先级的需求很明确:要知道应按什么顺序处理错误报告。另一个是惯常的恕我直言,是官僚主义。你为什么需要它?对于优先级排序,它显然没有用。无论如何,后果(严重性描述)在错误报告中都有描述。

我什至认为这是有害的,因为它使得不清楚哪个错误更重要:

  • 某些人可能会认为“严重”漏洞的优先级高于“高优先级”漏洞。
  • 一些报告错误的用户可能会混淆严重性和优先级
  • ...总的说来,它使人们更困惑于应解决错误的顺序

1
开发人员是唯一重要的人吗?
biziclop 2015年

2
@biziclop不,你是对的,这是我的拙劣公式。它对每个人都适用:重要的,对于管理人员的等等,也应该首先确定,哪些不那么重要。为此,一种措施就足够了。
dagnelies,2015年

1
嗯,从风险管理的角度来看,这是错误的-优先级=严重性*发生率。与用户的姓氏超过46个字符时发生的致命服务器崩溃相比,最短输入错误的优先级是否更低?
Pietross 2015年

1
@Pietross:好吧,你把它固定下来:哪个应该首先解决?低优先级服务器崩溃还是高优先级讨厌?您如何确定优先级?谁打这个电话?大家都在看清单吗?当仅使用一种优先级度量时,它会优先一次,然后完成。无论如何,影响和严重性在错误报告中都有描述。
dagnelies 2015年

关于“严重性”的事情是,您可以轻松地说出“崩溃=高,错别字=低”。需要考虑到的是,在首页上将“ o”排除在“ count”一词之外的错别字比根本拒绝加载的页面具有更高的修复优先级。

0

除其他答案外,请考虑这种情况:错误A将需要30分钟修复,严重性为“低”;错误B可能需要2周以上的时间才能修复,并且严重性为“高”。另外,错误B可能需要在开发团队中以及在团队外部进行大量讨论和协调;错误A可能会立即由单个开发人员修复。为错误A设置更高的优先级是完全可以的。

当然,“严重性”和“优先级”可以用不同的方式来解释。

在我自己使用的一个小型错误跟踪器中,我改用了“困难”和“优先级”,在这些问题中,严重性较高的问题始终具有最高优先级,并且我可能会根据难度决定推迟进行处理。

我不喜欢“严重性”的一件事是它仅适用于错误而不适用于功能。最好按优先级和难易程度排列所有问题的清单,因为它可以直接决定“下一步我该做什么”。


0

我已经在一家通过ISO9001:2007认证的软件公司中设计和实施了流程。自2007年以来,已经对该标准进行了更新,因此可能存在我不知道的其他要求...但是:

ISO9001标准旨在确保贵公司设计和实施具有反馈回路的过程,以在发现产品和过程缺陷时改进过程。

在设计阶段,需求集中在所建议的解决方案是否正确实施上是否会真正解决设计简介(验证),并检查实施是否已实际实现而没有缺陷(验证)

在反馈环路上,当发现缺陷时,仅记录缺陷是不够的。还需要评估缺陷的严重性,并优先考虑返工。

关键部分在于,您的特定公司如何决定评估其严重性并做出有关优先级的决策,ISO标准并未对此进行定义。这是公司决定和记录文件的商业和治理问题。

当将其写入标准作为要求时,任何一家认证公司都将具有围绕评估缺陷严重性的过程以及确定修复漏洞的工作优先级的过程。它们绝对是需要做出的两个单独的决定。

错误的严重程度只是一个数据点。客户影响是另一个数据点。还需要努力修复,缺陷寿命,产品中剩余的使用寿命以及公司决定在决策中包括的任何其他因素。一件事不应该写成“给产品经理决定优先权的缺陷”,因为它仅定义了做出决定的权限,并且没有定义他们遵循决定的过程。

我倾向于优先级排序,优先级排序倾向于提供大量的小而重要的更改,因为这似乎可以最大程度地提高产品的整体可靠性。这意味着,需要花费大量工作才能修复的严重错误,需要将其工作分解为较小的块,才能获得足够的优先级进行调度。


-3

由于优先级和严重性存在很大差异的原因:

一个简单的例子。想象一下,如果您的位置狭窄,无法进行系统扩展,则某些算法的复杂度为O(N ^ 3),其中N是客户商店的数量。客户说明年将开设200家新店,所需的计算(货物分配,运输计划等)将无法及时完成。但是,此客户目前只有30家商店,资源也足够。优化此算法(达到O(N ^ 2)或更好)的任务绝对很重要(如果未实现,将会失去客户),但可能并不紧急:您有几个月的时间来实现新算法。

示例2:应用程序系统崩溃,但是由于升级或迁移,该版本在几天之内就无法使用。修复非常紧急,因为崩溃确实会影响用户体验,但是重要性不高。

当然,这两个参数使用某种度量标准(正式或非正式)统一起来以生成短期工作计划,因为后者是一维的(任务序列)。但从长远来看,它们将不会统一。

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.