【问题标题】:How did you estimate the time you will spent before starting a web development project? [closed]在开始一个 Web 开发项目之前,您是如何估计您将花费的时间的? [关闭]
【发布时间】:2009-05-29 13:51:48
【问题描述】:

当你告诉你的客户或经理这可以在 10 天之内完成,但你却花了 20 天才得到一个点,甚至还没有部署到现场时,感觉真的很糟糕。

有什么经验可以和我分享一下您是如何估计在提议的项目上花费的时间的?

谢谢

【问题讨论】:

    标签: project-management


    【解决方案1】:

    经验将帮助您更好地进行估算,仅此而已。

    要记住的最重要的事情是让人们了解情况。

    如果任务估计需要 10 天,而您已经到了第 5 天,但显然不会在 10 天内完成,那么您应该在那个时候让人们知道,而不是等到第 11 天。

    随着时间的推移,有三种选择,你接受打击并继续工作,你从系统中删除一些东西,或者你要求更多的钱来完成。越早决定越好。

    【讨论】:

    • 如果我可以多次投票,我会的。这是一个非常好的答案。
    • 我同意你所说的一切,除了第一句话。经验并不是唯一可以帮助您更好地进行估算的东西。将一项任务分解为多个子任务也会提高您的准确性,而且您现在就可以做到,而不仅仅是在您获得更多经验时。
    • 是的,我同意,我对这种说法有点二元。 +1 对您的回答表示歉意:)
    • 让人们了解情况确实很重要,但有时我不知道该说些什么,我认为原因是我总是在管理我的时间方面做得很差。谢谢你的回答,学习了。
    【解决方案2】:

    一开始就尽量把事情分解成小块。我之前读过,人们无法准确估计任何超过几天的持续时间,所以你唯一能做的就是尝试识别所有部分并分别估计每一个部分。

    【讨论】:

    • 如果我能把任务分成小块,这样做很好,反正知道要学什么。
    【解决方案3】:

    提供时间估算是您只有通过经验才能做得更好的事情。

    获取您的上一次体验并使用它来修改您的下一次估计。

    另请参阅http://en.wikipedia.org/wiki/Estimation_in_software_engineering 了解更多信息。

    我发现你能做的最糟糕的事情之一就是第一次看需求,然后在第一次会议期间做出猜测。总是说你需要回复他们,然后去分析需求并给出有根据的回应。

    【讨论】:

    • 从今天开始会这样做,非常感谢。
    【解决方案4】:

    不知道自己要做什么就无法估计;您需要将任务分解成可以合理估计的块——精确到小时(不少于 1 小时,向上取整)

    例如“让我成为登录页面”

    HTML 登录表单 - 1 小时 用户数据库表 - 2 小时 等等等等。

    然后,调出日历并尝试填写小时数——好吧,星期一我可以工作大约 5 小时,这样就可以完成一项任务。你能合理地多任务吗?可能,但不要说你可以在一天内完成 3 x 4 小时的任务,即使你确实有 12 小时可以“空闲”(这太多了)。

    看看周末;你会为他们工作吗?可能不是,所以包括那个。一定要换机油吗?婚礼快到了?确保考虑到这一点。包括一些软糖时间,以防您无法工作(孩子生病,停电)

    【讨论】:

    • 太棒了,我真的浪费了很多时间相信“我可以同时处理多项任务”,我确实没有添加我现实生活中的效果,谢谢你的分析,希望没有孩子生病了。
    【解决方案5】:

    我实际上制作了非常详细的站点地图,然后估算每件作品的小时(分钟)。

    我将站点地图展示给客户,并告诉他们我的实际预期需要加倍

    然后我们详细说明每个页面将做什么,因此对于网站是否“完成”没有争议。

    承诺不足,交付过多。我通常比我告诉客户的要早得多,他们总是很高兴我“早”完成了。

    【讨论】:

    • 希望我能做这样的事情,你的意思是我应该告诉我的客户或经理我将花费 20 天(正如我最初预计的 10 天)?
    • 这正是我所做的。我从来没有经理,所以我不确定那里的政治影响,但对我的客户来说效果很好。 -- 最近我告诉一个客户,这个网站需要三周时间……我花了三天时间。为了避免将来一切都变得如此之快,我又没有将它交付给他们一个星期。
    【解决方案6】:

    始终要考虑的一件事是测试时间。如果某些东西需要 10 天的时间来开发,那么最好允许至少 7-8 天的测试。预先很好地掌握需求有助于估计时间。当/如果要求发生变化时,您必须让客户知道它将增加交货日期的额外时间。

    总而言之,就像 Zack 所说,您获得的经验越多,您的时间估算就越准确。仅仅为了得到一份工作而给出一个不切实际的时间估计只会是一件坏事。当然,我并不是说你就是这么做的。我只是将其说明为一种良好的做法。

    【讨论】:

    • 感谢您的回答,测试确实花费了我大约 80% 的时间,这也是我无法按时完成项目的部分原因,但是,我确实需要提高测试技能以减少这部分。
    【解决方案7】:

    您真正花在这方面的时间有多少?有什么干扰?每次你在集中注意力并且有人打破这种专注(我工作的正常状态)时,你可能会失去 30 分钟的时间来回到那种专注状态。一天四五个,而且(处理中断的原因)你已经损失了半天。每天。

    我们都这样做。在我们应该学得更好之后很久,我们仍然这样做。我们认为“这不可能花费超过几周的时间”并且我们立即说出来,而不是聪明和思考。我经常自言自语,在这里!

    如果我们这样说会怎么样:“我认为在理想的世界中,我可能会在 10 天内完成这项工作,但你和我都知道事情会出现并且需要处理,这将有影响。我们如何优先考虑这些功能,我会按顺序处理它们,并在每个完成后报告,并更新估计剩余时间?”

    【讨论】:

      【解决方案8】:

      我最喜欢的一位编程老师每次拿到零钱时都会重复这句话:“花点时间,你认为你会带你去做,然后乘以 3。即便如此,这也将是一个险情”。

      起初,由于缺乏更好的做事方式,我实际上是这样做的。我仍然!主要是在那些你可以感觉到客户存在的项目中:)

      它对我有用。这不科学,但确实有效。

      【讨论】:

      • 我被告知(半开玩笑地)花时间,加倍并提高单位。所以三个小​​时变成了六天!非常准确......
      【解决方案9】:

      我将项目分解成最小的不同任务。然后,我将清单翻了三遍。

      我第一次浏览列表时,我会寻找我有很多经验的东西。这些都是根据我以前的经验,我可以非常精确地估计所花费的时间。

      然后我查看列表寻找我不确定的事情,我担心它们会花费很长时间。我花了一些时间研究其中的每一个,并将它们分解成更小的任务。这让我可以更好地了解所涉及的具体内容,并且让以后更容易处理它。

      我上次查看列表时,我假设每个任务需要一个程序员一天的工作才能完成。有时有人可以在一天内完成一大堆。那太棒了。但有时,一个单一的任务会有各种各样的隐藏的肮脏,这是没有人预料到的,而且需要一个星期才能弄清楚。最终会变得平淡。

      这不会给你一个非常精确的估计。你真的不能有一个准确的估计。您永远无法准确地预测您将在哪一天完成某件事。然而,这会给你一个非常好的保守和准确的估计。准确度和精确度是两个不同的东西。

      【讨论】:

        【解决方案10】:

        找出所有可能的任务。正如上面其他人所指出的,您估计的任务越小,您就越准确。将总时间加起来,然后乘以疯狂因子。你的客户越疯狂,花费的时间就越多。你已经咨询了一段时间,所以我相信你知道类型。

        【讨论】:

          【解决方案11】:

          对我发现的项目进行里程碑式的开发非常有帮助。我的意思是您确定项目中的关键部分,这有助于将其分解为可交付成果的时间范围。

          这样,在每个里程碑,您都可以评估您的进度并查看您的项目是否落后、是否按时等。

          ps。或者你可以做经典的方法,花时间你“认为”它会花你,然后加倍! ;)

          【讨论】:

          • 我不想把我想的时间加倍,因为我不知道我想我想的时间是多少。如果你明白我的意思。
          • 是的! ......最后一个是更多的舌头。
          【解决方案12】:

          还记得那句老话……

          “前 90% 占用 90% 的时间。后 10% 占用 90% 的时间。”

          我认为,将您认为一个编程项目需要多长时间并将其增加三倍,您永远不会出错。除非你之前建造了完全相同的东西,而且是在去年,否则会发生很多意想不到的事情。你无法取代经验,但你可以利用这条经验法则在此过程中避免麻烦。

          并为第一响应者投票...在此过程中诚实和积极主动是巨大的。最好避免承诺任何事情,而不是说你不会达到目标。

          【讨论】:

          • 你的意思是前 90% 占用 10% 的时间,后 10% 占用 90% 的时间?
          • 不。总计至少有 180% 的时间。 :)
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-09
          • 1970-01-01
          相关资源
          最近更新 更多