我正在开展一个有许多未知数的项目,比如将应用程序从一个平台移动到另一个平台。
我的原始估计已经过时了,我无法确切知道何时结束。
我如何处理无法估计此类项目的问题。这不是我在屏幕上添加按钮或设计网站,或创建和应用甚至修复错误。这些不是带有错误的方法,这些是在整个代码中做出的假设,这些假设不再正确,并且逐步找到并且每个都进行了分析和缓解,还有更多的未知数。
答案 0 :(得分:5)
我碰巧写了一篇关于软件估算的硕士论文,并且我已经学到了很多课程:
-1st Count,2nd compute,3rd judge - 这意味着:首先尝试识别您工作中可数的项目,例如文件,类,LOC,UI等。然后使用此数据计算工作量(个人/天) )。使用判断作为最后一次重审。
- 记录您的估计!显示数字。这可以最大限度地降低您的风险,因此您的结果不是您的意见,而是或多或少的客观数字。 (一般来说,纸张越多,背面越干净)
- 估算不是承诺。承诺是一个数字,估计总是一个范围 - 所以将您的估计作为一个范围(使用不确定性锥体来正确选择范围http://www.construx.com/Page.aspx?hid=1648)
- 提供:使用WBS,将您的工作分成小块并单独估算。粒度依赖于整个长度,但最多一个工作包灵魂不会超过整个努力的10%。
- 首先考虑努力,然后安排,然后是成本。
- 将评估作为对计划的支持,重新评估每个项目阶段(不确定性的锥体)。
我会建议书http://www.stevemcconnell.com/est.htm处理所有这些问题,特别是如何处理那些试图从你那里得到承诺的老板。
此致 Valentin Heinitz
答案 1 :(得分:4)
没有真正正确的答案来提出准确的估算,因为没有办法知道它。
至于评估工作本身,考虑如何将每个步骤划分为单独的子步骤,并将这些步骤分解为更小,直到您可以使用块来获得尽可能多的工作的公平图片小而谨慎,足以给出合理的估计。如果可以,请提出预期时间和最坏情况时间,以获得可以降落的范围。
另一种解决方法是忽略旧系统。这听起来很头疼。估计刮擦旧系统并从头开始实施新系统,或集成第三方现成解决方案。如果要为此做一个案例,至少值得研究一下。
答案 2 :(得分:4)
听起来像postsecret的帖子而不是SO。 :)
我会告诉他,它会在完成时完成,如果这还不够好,他可以学习编程并帮助你。然后,我认为你可能会被解雇,但嘿,这听起来可能会更好。
答案 3 :(得分:4)
或多或少告诉他你告诉我们的事。该项目太不稳定,也无法给出准确的估计,您可以做的最好的事情就是对给定任务进行估算。只要任务数量未知,估计就会如此。如果他完全值得他的工资,他宁愿听到这个而不是一些编号。在处理大型遗留代码库时,这种情况并不罕见。
答案 4 :(得分:2)
这不是我在屏幕上添加按钮或设计网站, 或创建和应用甚至修复错误。
这是一个真正的问题。你无法估计你没有经验的东西。你唯一可以做的就是填写你的估计,直到你认为它是合理的时间。你认为越多的未知数就越多。你知道的越少,你填的越多。 我阅读了下面的书,并详细讲述了准确性与精确度。基本上你可以准确,但有很大的范围。例如,您可以确定任务将在1天到1年之间完成。这不是很精确,但它确实准确。