这是Code Complete一个章节的标题,完整的标题是Measure Twice, Cut Once: Upstream Prerequisites,其一语道出了软件上流设计的重要性。而在现实开发中,很多人总是有意无意的忽略了这一些,让整个开发过程变成:简单需求+编码+简单测试。而这样的后果就是整个系统没有一个整体的架构,代码杂乱无章,程序错漏百出,扩展起来比登天还难…

A good project planner clears rishs out of the way as early as possible so that the bulk of the project can proceed as smoothly as possible.

不幸的是,在很多项目中并没有这样的一位策划者,不仅不能尽可能早地清除风险。