估计的问题在于它涉及预测未知数,因此您需要清楚地定义您引用的过程以减少未知元素。
例如,您的流程可能是:
- 对现有材料和文件的初步审查(0.5 天)
- 1天研讨会讨论选项和建议(1天)
- 研讨会撰写和制作大纲规范和方法(1.5 天)
- 与客户和方法一起审查大纲规范,然后进行小修改和签字(0.5 天)
- 根据需要与研讨会进行详细分析和设计(5 天)
- 撰写最终设计(2 天)
- 审查最终设计的研讨会(1 天)
- 对最终设计的反馈和修改,不超过 3 次迭代(3 x 0.5 天)
- 最终签字(0.5 天)
在每种情况下,您都需要根据评论说明他们需要什么,并且您需要说明您在哪里迭代您将要进行的最大迭代次数。解释这样做的原因是允许你给他他想要的固定价格,并且他需要了解你正在按照他想要的方式工作,所以他需要保持他的一方并让他的团队专注于它当他们需要的时候。
一旦你同意了一个过程,你就可以相当准确地估计它。对我来说,有两个关键技巧:
1)如果您不确定某件事需要多长时间,请将其分解为较小的任务。这些更小(并且更容易估计),但您通常还会捡起您忘记必须做的小事情。
2) 如果数字看起来本能地错误(通常太高),请查看数字但不要更改它们,除非您真的认为您错误地估计了其中一项单独的任务。我们的直觉倾向于假设一切都会顺利并跳过无聊的东西(写研讨会?打哈欠......但它必须发生)。不幸的是,在现实世界中,小事情必须发生,而且它永远不会完全按照你的意愿进行,所以不要假装它会不会——任何你发现自己“所以如果一切顺利”的估计或过程都是不好的一且需要改变。
最重要的是,您需要添加意外事件 - 三种,两种您必须添加,一种您可以:
第一个包括处理可能出现的特定风险的时间。仔细检查并列出所有您不确定但认为可能会发生的事情,并为该过程增加时间。
例如,您认为有可能需要进行一些原型设计。估计它发生的可能性,如果它确实需要多长时间,然后将两者相乘。也许您认为它有 50% 的可能性发生,如果发生,则需要 2 天 - 将 0.5 x 2 天(1 天)添加到估计中以涵盖这一点。)将所有这些加起来并加起来。
第二个是“狗屎发生”的意外事件。IT 项目是不可预测的,并且会发生您没有预料到的事情。您可以尝试提前解决所有问题,但您无法管理,因此请尝试计算主要内容,其余部分添加一个百分比来覆盖它。我通常会选择 15%,但如果您认为流程可靠且客户良好且专注,则可能会降至 10%,如果您认为他们不稳定,则可能会降至 30%。
第三种是为客户而不是你。如果他说他不能保证他们会按照你的需要坚持这个过程,你会说“好吧,这个过程是我引用的,但是让我们有零钱”。这是他花费在偏离流程的预算。假设您为此增加了五天时间,但在进行到一半时,他要求提供一个额外的研讨会,而该研讨会不在此过程中。你需要一天的时间和一天的时间来写下来——你说“如果你想从五天的更改预算中再过两天”——他可以同意也可以不同意。
这意味着你得到了你的过程,他有能力偏离它,而不必回到他的项目委员会并要求更多的钱。
哦,记录你所花费的所有时间。这使您可以将您认为需要的内容与实际需要的内容进行比较,以便您可以改进估算,但也意味着如果您超出了您知道多少,您可能可以偷偷地将其添加到构建阶段并收回钱。
最后一件事:在某个时候,他会说“如果花费更少的时间,我的收费会更少吗?”。答案是不。固定价格为他消除了超支的风险,但意味着您承担了该风险。你接受这种风险的回报是,如果它早点到来,你可能会赚更多的钱,但他不会两全其美。如果它进来就少收他的费用意味着如果它来得早你就得不到任何好处,但如果它来晚了你会得到所有的痛苦——真的不公平吗?