10.1 什么是预估
业务方决定预估是承诺,开发方决定预估就是猜测,两者相差迥异。
专业开发人员不随便做出承诺,除非他们确切知道可以完成。如果你被要求承诺做自己不确定的事情,那么就应该坚决拒绝。如果要求你承诺在某天完成,但是需要每天加班,那么最好的决定取决于你。 不过,不要违背自己的意愿去勉强。
如果不能兑现承诺,他们的损失,以及你的声誉受到影响。
不能兑现的承诺也是一种欺骗,只不过比明目张胆的欺骗好一点。
专业开发人员能够清楚区分预估和承诺。只有在确切知道可以完成的前提下,他们才会给出承诺。他们会尽可能清楚的说明预估的概率分布,这样主管就可以做出合适的计划。
过于乐观的项目估计,他们最终花的时间是预估的3到5倍。
不管尝试加快进度的压力有多大,专业开发人员都应当谨慎的设定合理的预估值。
10.3 预估任务
在预估时,最重要的资源是你周围的人,他们可以看到你看不到的东西,相比自己单干,他们可以帮你更精确的预估任务。
10.4 大数定律
预估容易出错,控制错误的方法之一就是使用大数定律。该定律的意思是:把大任务分成许多小人物,分开预估在加总,结果比单独评估大任务要准确很多。