《代码大全》读书笔记——关于需求

明确需求的重要性

一般而言,发现错误的时间要尽可能接近引入错误的时间。

由于需求是首先要完成的事情,需求的缺陷就有可能在系统中潜伏的时间更长,当然代价也就更加昂贵。

明确需求有助于确保用户驾驭系统的功能,如果需求明确,那么用户就可以自行评审,并进行核准。否则程序员就常常会在编程期间自行决定需求。明确需求免得你去猜测用户想要的是什么。

明确需求还有助于避免争论。

重视需求有助于减少开始编程开发之后的系统变更情况。如果编码过程中发现了一个代码上的错误,你只需要修改几行代码,如果是需求上的错误,你就得改变设计。

‘未能定义问题’的处罚是,你浪费了大量的时间去解决错误的问题。

需求实践

预先详细说明100%的需求和设计是不且实际的,不过对于大多数的项目来说,“尽早把那些关键的需求要素和架构要素确定下来”是很有价值的。

计划好预先对大约80%的需求做出详细说明,并给“稍后在进行详细说明的额外需求”分配一定的时间,然后再项目进行过程中,实施系统化的变更控制措施——只接受那些最有价值的新需求。