3.3 投资多少?
Last updated
Last updated
那么,正确的投资额度是多少呢?巨大的前期投资,如试图设计整个系统,是不会有效果的。这就是瀑布法,我们知道它是行不通的。理想的设计往往是随着你对系统的经验积累,在零碎的地方出现的。因此,最好的方法是持续进行大量的小投资。我建议将你总开发时间的10-20%用于投资。这个数额小到不会对你的时间表产生重大影响,但大到可以随着时间的推移产生巨大的效益。因此,你的初始项目将比纯战术性的方法多花10-20%的时间。这额外的时间将导致更好的软件设计,而你将在几个月内开始体验到这些好处。用不了多久,你的开发速度就会比战术性编程时至少快10-20%。此时,你的投资就变成了免费的:你过去的投资所带来的好处将节省足够的时间来支付未来投资的成本。你将很快收回最初投资的成本。图3.1说明了这一现象。
相反,如果你以战术性方式编程,你会以快了10-20%的速度完成你的第一个项目,但随着时间的推移,你的开发速度会随着复杂性的积累而减慢。过不了多久,你的编程速度至少会慢10-20%。你会很快把一开始节省下来的时间全部还回去,在系统的剩余生命周期里,你的开发速度会比采取战略性方法的时候更慢。如果你没有在一个严重退化的代码库中工作过,可以和那些工作过的人谈谈;他们会告诉你,糟糕的代码质量至少会使开发速度降低20%。