估计编程任务需要花费多长时间?


9

例如,如果我将一个项目分解为n个离散的工作产品(例如类,功能或组件),是否有时间t使得n * t是用于估算的合适时间?


9
这简单。只需计划一些时间来查看您的工作量,并估计大概需要多长时间,然后…哦,等等。
joshin4colours 2012年

由于您的估算始终都是错误的,因此零投资回报=零花费时间。哦,除了老板会强迫您创建虚假估计。敏捷的估算,您选择了一些随机的无斐波纳契数,以BogoEstimons之类的随机无单位计量单位来衡量,这似乎比实际的人工小时工作单位更好。
沃伦·P

估计估计任务的时间。让估算开始吧
用户

Answers:


13

如果您有足够的信息将其分解到该级别,则每个信息的花费都不应超过一分钟。无论如何,你都不会正确,但是一分钟后和一小时后一样,你会变得正确。

另一方面,如果您是在谈论用户故事,我建议您将利益相关者放在一个房间里,并花五分钟询问一下问题,然后再进行估算。

无论如何,不​​要浪费太多时间进行估算。它们没有用或不够准确,不值得付出努力。


3
+1。但我不同意估算不是很有用。它们有助于更好地计划,从而提高生产力。
superM 2012年

4
@superM:我并不是说它们根本没有用。他们当然是。我说他们花不了多少时间。可用的软件要有用得多,因此请花费大量时间在此上。
pdr 2012年

@superM:您是否曾经将您的估计值与实际值进行比较?这将为您讲解猜测工作的实际价值(根据定义是估算值)的一课。估算是帕累托的经典做法:您有20%的时间获得了相当不错的估算。浪费更多的时间只会使它提高5%。
JensG 2013年

对我来说,我从事项目的时间越长,做出的估算就越好。有太多因素,有些是我无法控制的,因此,了解这些(特定于项目的)因素是有经验的。有时您只是无法逃避估计,有时您会因为不正确的估计而受苦。
superM 2013年

2

以我的经验,敏捷方法的核心“是的,确实有效”的部分是“任务应该用不到一天的时间”指导原则。如果您估计需要花费超过一天的时间,那么您将相去甚远。

将它们分解成可以完成的工作就足够了;不管这些东西到底是什么。


2

在敏捷的Scrum方法中,Planning Poker被视为一种有效的方法,可以利用整个团队快速估算sprint中用户故事所需的工作量(假设这就是您所要讨论的)。否则,我不会花费几分钟多的时间来估计用户故事中的一项任务。

如果您要为一组开发人员进行估算,我强烈建议您使用这种基于共识的技术。

计划扑克意味着您可以在单个会话(不超过1-2小时)内为每个用户故事获得一些不错的估计。

对此进行一些阅读并尝试一下!

同样,作为一般规则,用户故事中的任何任务都不应超过7.5小时(一天的工作时间)。如果是这样,则需要将任务分解为较小的任务。


1
计划扑克会估算点数,以任何实际单位表示。哪种使它们类似于估计的真实程度;野驴猜测。
沃伦·P

1
这个想法是,例如,如果我们知道1分任务将花费7.5个小时,那么我们可以说5分用户故事将花费30个小时,而10分用户故事将花费60个小时。例如,我们可以选择最小的任务之一,并且可以将估计的时间分配为单个用户故事点的值。然后,我们可以将这个用户故事用作估算更大任务的基础。如果我们认为另一项任务将花费两倍的时间,则可以分配2个用户故事点(15小时),依此类推。
Ciaran Gallagher 2012年

1

我认为这取决于您的需求。例如,如果项目的资源分配依赖于它(有时就是这里的情况),则最好谨慎地进行。换句话说,如果您正在执行的项目没有这种必要性,那么您可能不会做太多的细节工作。花太多时间不是一个好主意,因为很难进行准确的估算。

有一个名为著名的概念不确定性的锥维基百科不确定性锥,说多少准确的估计,通常都可以。值得一读。


1

您从估计中得到什么?

取决于您所做的工作,准确的个人估算值可能是有意义的(客户在本周末向您付款,或者任务/故事对其他人不利,并且需要精确的ETA)或否(您积压了200个故事,如果故事转变了一周,没有人会死,而您指望估计出的错误可以使很多错误平均出来。

只需花费最短的时间即可获得足以满足您需求的估算值。没有公式。

就我个人而言,我认为超过一两分钟意味着您可能正在估计错误的事情(将其拆分或计划发现)。


0

实际上,您需要估算值来帮助其他利益相关者分配相对优先级-因此,基于广泛的估算值至少可以说task1大约是task2的3倍(即使就小时数而言,它最终并不是十分准确)。需要花费大量时间来了解这些任务是什么(用于实现某些目标),然后对其进行粗略估算。

一旦有了相对优先级,就可以专注于做事并在途中调整估算值。换句话说,花很少的时间进行前期估算,但是会随着时间的流逝而完善估算,以便项目计划在完成时给出一个好主意。


0

好的估计是基于事实而不是假设的一次。

因此,如果您已经有一个类似的项目并捕获了您之前的估算时间,则可以将其作为良好的估算基础。但是,根据您的项目范围,可能会有未知的工件,最好尽快与BA或产品负责人进行澄清。

也可以这样说:软件项目估算本质上是不准确的。但是,有些现实的估算方法可能会有所帮助:

  • 从事这项工作的人应该参与项目评估
  • 聘请专家:专家判断对于项目成功至关重要
  • 估计大件物品的范围
  • 使用Delphi技术: 如果在软件项目评估中存在冲突,此方法可帮助汇聚团队的意见。
  • 记住成本
  • 请记住分配的资源可用于执行工作

我从未见过一个团队或个人确实估计过(超过50%的时间)例行工作在实际花费的时间的10%之内是准确的。在其他地方的其他人则声称取得成功,这使我难以想象我曾经在任何工作场所发生过的事情。
沃伦·P

“精确到实际花费时间的10%以内”-实际上是非常差的结果。还应考虑误差幅度,误差幅度会因项目的复杂性和外部依赖性而增加。
Yusubov

我就是这么说的 估计糟透了。
沃伦·P

是的,拥有“准确度是实际花费时间的10%之内”确实是很大的打击……
Yusubov 2012年
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.