0

我正在从事一个有许多未知数的项目,例如将应用程序从一个平台移动到另一个平台。

我最初的估计还差得很远,我无法真正确定何时结束。

我该如何处理无法估计这样一个项目的问题。这并不是说我要在屏幕上添加按钮或设计网站,或创建应用程序甚至修复错误。这些不是有错误的方法,这些是在整个代码中做出的假设,这些假设不再正确,并且是逐步发现的,并且每个都通过更多未知数进行分析和缓解。

4

5 回答 5

5

我碰巧写了一篇关于软件估计的硕士论文,我学到了一些教训:

-1st Count, 2nd compute, 3rd Judge - 这意味着:首先尝试识别您工作中可数的项目,例如文件、类、LOC、UI 等。然后使用这些数据计算工作量(以人/天为单位)。使用判断作为最后的手段。

- 记录您的估计!显示数字。这最大限度地降低了您的风险,因此您将不会以您的意见呈现结果,而是以或多或少的客观数字形式呈现结果。(一般来说,纸越多背面越干净)

-估计不是承诺。承诺是一个数字,估计总是一个范围 - 所以把你的估计作为一个范围(使用不确定性锥来正确选择范围http://www.construx.com/Page.aspx?hid=1648

-划分:使用WBS,将您的工作分成小块并分别估算。粒度取决于整个长度,但一个工作包最多不超过整个工作量的 10%。

-首先估算工作量,然后是进度,然后是成本。

- 将估算视为对规划的支持,重新估算每个项目阶段(s. 不确定性锥)。

我会推荐这本书http://www.stevemcconnell.com/est.htm它涉及所有这些要点,特别是如何与老板打交道,他们试图从你那里得到承诺。

问候, 瓦伦丁·海尼茨

于 2010-11-02T11:42:17.213 回答
4

提出准确的估计没有真正正确的答案,因为没有办法知道它。

至于估计工作本身,考虑如何将每个步骤分成单独的子步骤,并将它们分解得更小,直到您可以对尽可能多的工作有一个公平的了解,其中的块小而谨慎足以给出合理的估计。如果可以的话,想出一个预期时间和一个最坏情况的时间,以获得你可以降落的范围。

解决此问题的另一种方法是忽略旧系统。听起来很头疼。估计刮掉旧系统并从头开始实施新系统,或集成第 3 方,现成的解决方案。如果要为此做一个案例,至少值得调查一下。

于 2010-10-19T20:54:29.033 回答
4

听起来像是postsecret的帖子,而不是 SO。:)

我会告诉他,当它完成时,它会完成,如果这还不够好,他可以学习编程并帮助你。再说一次,我认为你可能会被解雇,但嘿,听起来可能会更好。

于 2010-10-19T20:59:41.167 回答
4

或多或少地告诉他你告诉我们的事情。这个项目太不稳定了,也不能给出准确的估计,你能做的最好的就是对给定的任务给出一个估计。只要任务数量未知,估计也会如此。如果他完全值得他的薪水,他宁愿听到这个,也不愿听到一些捏造的数字。在处理大型遗留代码库时,这种情况并不少见。

于 2010-10-19T21:03:20.950 回答
2

这并不是说我要在屏幕上添加按钮或设计网站,或创建应用程序甚至修复错误。

这是一个真正的问题。你无法估计你没有经验的事情。你唯一能做的就是填补你的估计,直到你认为这是一个合理的时间。你认为的未知数越多,你填充的越多。你对它的了解越少,你就越垫。我读了下面的书,它详细地谈到了准确性与精确度。基本上你可以准确,但范围很大。例如,您可以确定任务将在 1 天到 1 年内完成。这不是很精确,但确实很准确。

软件估算揭秘...

估算的一些技巧

于 2013-04-08T20:24:52.493 回答