低估并因此对客户负担不足 - 你会怎么做?

时间:2009-09-16 08:25:23

标签: project-management

我知道这是一个非常主观的问题(很可能会被关闭),但我认为如果我(以及其余的SO!)知道其他开发人员如何处理这将是有用的这种情况,所以我把它作为一个社区维基,并希望它不会被关闭。

作为软件顾问,必须能够准确估计软件项目所需的时间,因为客户无论如何都需要它。但我们都知道复杂的软件开发是多么复杂,而且我们都知道软件开发人员倾向于低估所需的工作量,并高估他们及时交付解决方案的能力。

所以,如果您是一名软件顾问,他会在完整的项目基础上为您的客户付费(但是您必须提出估算然后根据计费) ),如果您发现您提供的初始报价过于乐观,并且您需要两倍的时间(或更多)来提供解决方案,那么您会怎么做?

11 个答案:

答案 0 :(得分:5)

下次,使用此公式计算项目持续时间:

[Amount of time you expect]*2

答案 1 :(得分:5)

将您的项目划分为小的子项目,可以更好地管理。例如,按小时执行软件规范,并为实施阶段制定固定价格报价,为风险添加一些开销,您没有预料到。如果强制执行阶段很长,请尝试同意为每个阶段提供(并提出单独的要约)。

答案 2 :(得分:4)

与您的客户交谈。估计有很多变数,如果有正确的理由可以解释,那么他们就不会希望你做一个简单的工作,只是为了不会损失太多钱。

@Jay Riggs可能是正确的,特别是如果你赢得了与其他更高出价者的合同,你可能不得不吃它。

答案 3 :(得分:4)

到目前为止我用过的解决方案:

  • 把它带到我身上并从中学习
  • 与客户交谈,解释了我遇到的困难并询问,如果他同意支付我的额外费用
  • 等到客户有额外的愿望,并对那些部分补偿我的损失的人做出更高的估计(特别是在额外努力部分由客户造成的情况下)

我从中学到了什么?

我不再做整个项目估算了。我做迭代估计。例如按功能。完成第一个功能后,我只估算第二个功能的成本。这也确保您在看到第一个功能正常工作后,能够适应客户希望的变化。你说'spec freeze'?哦,客户的现实看起来不同。

答案 4 :(得分:2)

吃它。这是你做的唯一事情。您不能指望您的客户为您的错误付款。

答案 5 :(得分:2)

喝很多咖啡,并从错误中吸取教训。

答案 6 :(得分:0)

做出最好的猜测,加倍,并将其提高一个度量单位。如果您认为需要2周时间,则假设实际上意味着4个月。

答案 7 :(得分:0)

如果你提供了给定交付物的报价并且你的价格很低(有时人们会低价获得工作然后付钱),那么你必须把它吮吸......如果是客户的话改变你可以收取更多的范围。提供工作和开始工作基本上是承诺一个合同,如果你没有交付客户可以得到他们的退款以及寻找损害赔偿......

答案 8 :(得分:0)

如果您根据已完成的项目计费,如果您低估项目需要多长时间,那么您可以做的事情并不多。您可以尝试与客户讨论它,看看他们是否愿意重新协商成本,但他们没有义务实际向您支付更多费用,如果他们与其他人谈论此事,实际上可能会损害您未来的业务机会。

您对未来的最佳选择是努力提高您在评估项目需要多长时间时使用的项目评估技能。虽然它对团队的大型项目适用更多,但Software Estimation: Demystifying the Black Art可能是一本值得一试的书。

答案 9 :(得分:0)

在一些痛苦的情况下我学到的是低估似乎来自对我公司和客户之间最终产品的不同理解。为了缓解这种情况,我们实施了一个设计阶段,我们收取这个设计阶段,以使项目达到相当不错的高水平要求,并创建故事板。由此我们继续估计实际的实施。

我们发现一些客户不愿意尝试更充分地充实他们想要的东西,让一些项目在此基础上通过。我们还有一些项目,在进一步充实事物后,允许更好地共同理解将要构建的内容,客户选择决定它将花费太多,但他们为我们的设计工作付出了代价。

我们仍然遇到工作被低估的问题,但它比过去严重得多。此外,我们已经避免了那些定义如此差的项目,以至于他们肯定会遇到问题。简而言之,您和客户越了解您将要建立的更好的机会,固定价格将是公平的。

最佳解决方案是混合方法,客户以某种方式参与成本超支,因此他们也有动力将其最小化。这通常是不可能的,特别是今天。

答案 10 :(得分:-1)

估算工作时存在一些困难,但一般的经验法则(如上所述)是将您所做的任何估算加倍,并确保尽可能地分解作业并通过以下方式编制估算值:添加所有子部分。

如果您错误估计,那么您可能会自己承担额外费用。但是 - 如果你做得很好,并且客户想要你回来,那么你可以通过将它添加到未来的项目来弥补一些损失的时间。