错误修复时间分配

时间:2020-03-06 14:44:13  来源:igfitidea点击:

客户要求我们给我们每个错误的时间估算。

尽管我们有固定的bug修复时间表,并已为此分配了时间,但我们没有为每个bug分配时间。简而言之,我们对漏洞进行了优先排序,并确保将在分配的时间内修复最高优先级的漏洞。

我不喜欢为错误分配时间,原因仅在于:

  • 通常是不准确的。很难弄清楚要花多长时间。
  • 浪费时间。
  • 影响代码质量
  • 从长远来看会创建更多的错误(我们可能会在尝试在截止日期之前完成某些操作而错过某些事情)。

如果我们不想提供每个错误的小时数,而只是确定将修复哪些错误的时间范围,我们应该如何解决该问题?

我们如何为错误分配时间?有效吗值得花费时间和精力吗?

解决方案

我唯一能给出的答案是要非常保守。猜猜将花费多长时间,然后将猜想乘以四。用它作为估计。正如我们所说,很难弄清楚要花多长时间解决问题,而且最好说它比实际花费的时间要长得多,而不是被"打破最后期限",因为我们不够保守。

它应该与估计我们具有的其他任务相同。将其分解为可能的最小任务,并通过填充意外内容来尽可能准确地估计这些任务。然后给他们一个范围,这样我们就不必将日期固定在定义不明确的任务上。估计修复错误的时间与估计实现具有模糊要求的功能的时间之间没有区别。

没错,估算值通常不准确。

也许我们想问问他们,如果每个错误未修复,每个错误要花多少钱。然后,我们可以执行适当的计算,以确定是否应该修复它们,以及我们(或者实际上,他们)可以花多少时间来解决每个错误。

为什么不就漏洞严重性选择几个范围,例如1小时,1/2天,1天,1周,然后与他们进行分配。通常,我们会感觉到一个错误-对于一个我们不知道的错误,请加一个最坏的情况!

由于我们引用的原因(调查时间太长,等等),我认为我们不希望在比该水平更高的水平上进行估算。

我不认为这是浪费时间。客户想要了解的不仅仅是bug的数量及其优先级-他们想要了解还有多少工作要做。

在任何情况下都不应导致我们生成更多错误。我们不应该急于解决这些问题。如果我们估计需要1天并且花费了10个小时,那就可以了。如果我们估计花费了1星期的时间,并且花费了2个小时,那么结果很好!

这只是估算中的一项练习!

通常,我们会同意为特定版本修复哪些错误,然后定义修复所有错误的时间范围。对于每个单独的错误,修复需要花费多长时间有很多不确定性/可变性,但这往往会导致大量错误平均化。对于我们知道会花费更长时间的某些错误,可能会给出一些估算值,例如如果我们需要为其编写模拟器或者测试框架。

如果发现并报告了这些错误,那么我们应该能够估算出修复时间(以及重新测试的时间)。估算的置信度很可能与我们花费在估算上的时间成正比,也许可以向客户解释此成本。

如果有许多相关的小错误报告,也许我们可​​以将它们折叠到一个综合报告中。这样可以避免客户试图纯粹根据个人估计来选择并修复哪些错误。

不要以估算错误修复所需的时间来考虑这一点,因为我们可能无法正确估算。

从管理客户愤怒的角度考虑这一点。如果我们告诉他们,这些错误将完全没有时间修复,并且最终将花费3个月的时间,那么客户现在会对我们感到满意,并且将来会对我们感到愤怒。

如果我们告诉他们,这些错误将需要3个月的时间来修复,而实际上却要花费3个月的时间(他们将要修复),那么客户现在会很生气,并且将来会对我们感到满意。

我通常会说错误根本不会花费时间(2-3天似乎是个不错的选择)。

我所服务的公司经常收到客户的不合理要求。要记住的关键是客户希望获得充分的信息。我们发现执行此操作的最佳方法是状态报告。

因此,我们首先要很好地解释我们的立场。在示例中,将是这样的:

We have a set schedule for fixing the bugs in our project, which we have historically a good track record of staying on schedule.  However, the process of detailing how long each bug will take to fix is quite error-prone.  We'd be happy to provide you with weekly updates (or twice-weekly or daily depending on the customer) on the bugs that have been fixed and the fixes that have been tested.

但是,我确实相信尝试估计每个错误将花费多长时间是一件好事。这样做的原因是我们需要了解修复所有错误所需的总时间。如果我们没有估计各个零件修复所需的时间,则将无法获得准确的估计。这些当然是粗略的估计(估计不超过花一个小时研究问题的时间)-我们不想浪费太多的时间进行估计。然后,我通常会额外考虑20%。可以这样说,错误估计为3天,5天和2天。然后,我会通知客户我们应该能够在12天内修复错误。然后,当然,我们可能需要增加更多的时间来测试和重新包装产品,然后才能为他们提供可交付的产品。