标签: estimation

如何避免软件开发中的80/20规则

似乎无论我的项目是什么,我都能相当快地完成80%的工作.用户和管理人员兴奋地认为事情已经提前了,但令人讨厌的20%的工作剩余似乎需要4倍于之前的80%.当我们对项目进行定期检查或站立时,我觉得这是一个破纪录的说"是的,到目前为止事情已经好了,但还有很多事要做......"

在大多数情况下,我的估计相当准确,但我是人.说服用户最后20%的工作确实占用80%的时间的最佳方法是什么?看起来越来越多的用户和管理层认为IT很容易,而且有些手指就会发生魔术......

一般来说,我们会按照我认为相当低的水平来跟踪任务.不一定在创建标签或文本框中,但我们非常详细...我们还跟踪我们对所有任务的估计完成情况,当您处于项目中间时,我认为这是一个比原始估计更重要的数字.

我认为这取决于对用户和管理层的看法.即使他们可能知道完成的估计,他们仍然会对他们所看到的情绪和看法感到失望,并且估计的数字会退居二线.这就是我想弄清楚如何控制或管理期望的方法.


编辑
转变为社区维基,因为这是相当主观的.应该从一开始就是这样.

estimation

19
推荐指数
5
解决办法
5297
查看次数

有人可以解释云计算提供商使用的"实例小时"的概念吗?

我正在研究各种云计算平台的价格,特别是亚马逊的EC2,很多报价基于一个名为Instance-Hour的单位.

我试图了解实例小时的确切定义,以更好地比较继续托管Web应用程序的成本与将其放在云上的成本.

(1)它是否与任何Windows性能计数器相对应,以便我可以对我们当前的实现进行基准测试并将其用于定价计算器中?

(2)多处理器实例如何计算实例小时计算?

cloud estimation amazon-ec2

17
推荐指数
2
解决办法
1万
查看次数

进度条的现实时间估计等

我知道我不是唯一一个不喜欢进度条或时间估计的人,他们在软件中给出了不切实际的估计.最好的例子是安装程序,在10秒内从0%跳到90%,然后花一个小时完成最后的10%.

大多数时候程序员只是估计完成任务的步骤,然后以百分比显示currenttep/totalsteps,忽略了每个步骤可能需要不同时间才能完成的事实.例如,如果将行插入数据库,插入时间可能会随着插入行数的增加而增加(简单示例),或者复制文件的时间不仅取决于文件的大小,还取决于文件的位置.磁盘和碎片是多么碎片化.

今天,我问自己是否有人已经尝试过对此进行建模,并且可能创建了一个带有可配置稳健估算器.我知道很难给出可靠的估计,因为外部因素(网络连接,用户运行其他程序等)发挥了作用.

也许还有一种解决方案使用分析来建立更好的估算器,或者可以使用机器学习方法.

有谁知道这个问题的高级解决方案?


与此相关,我发现文章重新思考进度条非常有意义.它显示了进度条如何改变时间感,以及如何使用这些洞察力创建似乎更快的进度条.


编辑:我可以想办法如何手动调整时间估计,即使使用"估算器库",我将不得不微调算法.但我认为这个问题可以用统计工具解决.当然,估算器会在流程期间收集数据,以便为后续步骤创建更好的估算值.

我现在所做的是采取上一步所采取的平均时间(按类型分组的步骤,并通过例如文件大小,交易大小进行标准化),并将此平均值作为后续步骤的估计值(再次:计算不同类型和大小).

现在,我知道有更好的统计工具来创建估算器,我想知道是否有人将这些应用于问题.

language-agnostic statistics estimation machine-learning progress-bar

16
推荐指数
2
解决办法
2975
查看次数

从潜在谐波确定基频的算法

我试图从声源中提取基频.也许有人在麦克风上唱A3,所以我想要检测~110Hz

我的方法是:

  • FFT 1024浮点数
  • 使用每个箱的相位来准确地确定其精确的频率
  • 确定峰值(通常为50左右)
  • 先用最大的声音命令它们

(峰值[0] .power = 1063.343750,.freq = 2032.715088
(峰值[1] .power = 1047.764893,.freq = 3070.605225
(峰值[2] .power = 1014.986877,.fr​​eq = 5925.878418
(峰值[3] .power = 1011.707825,.freq = 6963.769043
(Peak [4] .power = 1009.152954,.freq = 4022.363037
(Peak [5] .power = 995.199585,.freq = 4974.120605
(Peak [6] .power = 987.243713,.freq = 8087.792480
(Peak [7] .power = 533.514832,.freq = 908.691833

  • (MARKER1)以最响亮的方式开始,并将其与所有剩余的峰值匹配,所以如果我有N个峰值,此时我将有N-1个峰值对
  • 检查每个峰值对的谐度; 即它与某个分数a/b有多接近,即我们能找到b <20的a/b,使得| peakA.freq/peakB.freq - a/b | <0.01(这将匹配到20日的谐波)
  • 我们现在有一个精确的峰值列表,这些峰值被认为是彼此谐波的

    Harmonic PeakPair:(0,1)= 2/3,误差:0.00468 => f0 @ 1019.946289
    谐波峰值:( 0,2)= 1/3,误差:0.00969 => …

algorithm estimation signal-processing pitch

16
推荐指数
2
解决办法
4894
查看次数

有没有人使用功能点?

关于功能点的一些问题:

1)这是一种相当精确的估算方法吗?(我在这里并不合理,但只想知道与其他估算方法相比)

2)所需的努力值得你从中获益吗?

3)您使用哪种类型的功能点?

4)你是否使用任何工具来做这件事?

编辑:我感兴趣的是从谁使用他们或听人已经使用了他们.我已经阅读了估算实践,包括各种技术的优缺点,但我对实践中的价值感兴趣.

estimation function-points

15
推荐指数
3
解决办法
4866
查看次数

估计/预测下载完成时间

我们都在"剩下的X分钟"对话中嘲笑,这似乎过于简单,但我们怎样才能改进呢?

实际上,输入是直到当前时间的下载速度集合,我们需要使用它来估计完成时间,可能有一定的确定性,例如使用一些Y%置信区间"剩余20分钟".

执行此操作的代码可以放在一个小库中,并在各个项目中使用,所以它真的很难吗?你会怎么做?你对以前的下载速度有什么加权?

或者那里有一些开源代码?

编辑:总结:

  1. 通过更好的算法/过滤器等改善估计的完成时间
  2. 提供间隔而不是单个时间('1h45-2h30分钟'),或仅限制精度('约2小时').
  3. 说明进展何时停滞 - 尽管如果进展一直停滞然后继续,我们应该能够解决这个问题.也许'大约2个小时,目前停滞不前'

algorithm math estimation probability

15
推荐指数
3
解决办法
3219
查看次数

用于估算Web App小时数的经验法则

我们都知道软件估计很难准确,但我并不是在寻找精确的.我希望能够得出项目的大致人工小时数,以了解在初创公司中雇用多少人.

所以,假设你有:

  • 基于.NET平台构建的Web应用程序(C#,ASP MVC等...)
  • 定义数量的用例,包含简单和复杂的用例(在此项目中,70个用例;但假设一个项目具有足够多的用例,以提供复杂且不复杂的良好钟形曲线)
  • 一个已定义的数据库模式(同样,在这种情况下,有50个左右的表,但假设一个Web应用程序比七个表的典型书籍示例更多:))
  • 想要快速,肮脏,最佳猜测估计并且理解它不是合同的合作伙伴,对软件开发经验丰富,并且软件(及其理解)将会发布和发展
  • 一群坚实,熟练的开发人员

人们是否有任何经验法则来快速猜测所涉及的小时数?

更新:我要求基于可衡量但粗略要求的球场估计规则."4到6周"的答案很有趣,但是我想听听那些已经建立了一些简单的工作指标的人.

c# estimation

14
推荐指数
3
解决办法
6070
查看次数

将HyperLogLog应用于总体样本

Flajolet 等人的HyperLogLog算法描述了一种仅使用少量内存来估计集合基数的巧妙方法.但是,它确实考虑了计算中原始集合的所有N个元素.如果我们只能获得原始N的一小部分随机样本(比方说,10%)怎么办?有没有关于HyperLogLog或类似算法如何适应这种情况的研究?

我知道这基本上是描述为不同价值估计的问题,对此存在大量研究(例如参见本文的概述).然而,我所知道的关于独特价值估计的研究使用了许多与HyperLogLog使用的方法截然不同的特别估计.因此,我想知道是否有人已经考虑过将HyperLogLog调整为不同的价值估计问题.

algorithm estimation hyperloglog

14
推荐指数
1
解决办法
1240
查看次数

我怎么知道需要多少天?

我是一名PHP开发人员,而且我常常不知道几天 - 更不用说几个小时 - 工作需要多长时间.我经常写新东西,将它与旧的遗留垃圾合并.我可以告诉我的老板,哪一周我可能会做些什么 - 也许是一周的一半 - 但我知道世界上我究竟知道什么日子会做什么?考虑到经常会出现错误和其他未知因素并节省时间,这不是有点不切实际吗?我只能把这些东西减到极少......

我想说以下内容:

"看,我明白我说"明天!明天!"没有帮助.我能为你做的最好的事情就是告诉你,在给定的一周中,我可能会完成它的一半.如果它看起来我可以通过在给定的一周的星期五,然后我们更好地移动到下周."

language-agnostic project-management estimation

13
推荐指数
1
解决办法
1072
查看次数

图像噪声估计/噪声测量

我想估算图像中的噪点.

让我们假设一个图像+白噪声的模型.现在我想估计噪声方差.

我的方法是计算图像的局部方差(3*3到21*21块),然后找到局部方差相当恒定的区域(通过计算局部方差矩阵的局部方差).我假设这些区域是"平坦的",因此方差几乎是"纯"噪声.

然而,我没有得到持续的结果.

有没有更好的办法?

谢谢.

PS我不能假设任何关于图像但是独立噪声(对于真实图像不是这样,但我们假设它).

estimation image-processing noise

13
推荐指数
3
解决办法
1万
查看次数