《代码整洁之道 程序员的职业素养》第十章

22 Jul 2021

Reading time ~3 minutes

预估是软件开发人员面对的最简单的、也是最可怕的活动之一了。

10.1 什么是预估

10.1.1 承诺

承诺是必须做到的。如果你承诺在某天做成某事,就必须按时完成。

承诺是关于确定性的。

10.1.2 预估

预估是一种猜测。它不包含任何承诺的色彩。它不需要做任何约定。

10.1.3 暗示性承诺

专业开发人员能够清楚区分预估和承诺。

他们也会格外小心避免给出暗示性的承诺。

10.2 PERT

你可以根据三个数字预估某项任务。这就是三元分析法。

  • O:乐观预估
  • N:标称预估
  • P:悲观预估

有了这三个月预估,我们可以像下面这样描述概率分布: \(μ = (O + 4N + P) / 6\) μ是这个任务的期望完成时间。 \(σ = \frac{P - O}{6}\) σ是这个任务概率分布的标准差。

10.3 预估任务

德尔菲法

  1. 亮手指
  2. 规划扑克
  3. 关联预估
  4. 三元预估

10.4 大数定律

把大任务分成许多小任务,分开预估再相加,结果会比单独预估大任务要准确很多。

10.5 结论

专业开发人员懂得如何为业务人员提供可信的预估结果,以便做出计划。如果做不到,或者不确定能做到,专业开发人员不会做出承诺。

专业开发人员一旦做出了承诺,就会提供确定的数字。



Reading NotesThe Clean Coder Share Tweet +1