起初对于软件工程的看法就是面对客户的需求,要写出很多的不同的小程序来搭建出一个客户满意的软件,就是这么简单。很少看一本关于软件开发的书,也没有真正的开发过一款软件,所以我并不知道软件开发的真实过程,但是本书的推荐序一里CSDN总裁蒋涛的话引起了我读这本书
的兴趣,他说:“《梦断代码》向我们展示了硅谷一流软件开发者是如何进行产品开发的······”
软件时间,作者有那么一段时间沉浸在了编写代码的没日没夜的工作中,编写代码时候全然忘了时间,甚至等到第二天的同事来上班之后才意识到自己整夜没有回去。这样的精神真的无与伦比。可是这也让我认识到了软甲开发过程的艰苦。功夫不负有心人,我想只要努力,最后的成功是不足为奇的。书中说:“梦之所寄,行之所为----地狱之门就此洞开”,但是我只要坚持,总归会有从地狱爬出来的那么一天。
软件的开发所需的时间似乎真的是无法估测,故事中的团队采取了很多的方法来提高软件开发的速度,想尽可能能够按照客预定的期限内完工,可是很多的方法都失败了,造成失败的原因也有很多种。比如故事中系统架构师约翰·安德森说的:“原因很多。建造之前,先有蓝图。我们一直就没有蓝图,所以会碰上没有预料到的问题。除非你确
定自己能做出某个东西来,否则很难说会花上多长时间。”又比如团队里的人员缺乏团队合作的意识,书中程序员杰德·伯吉斯说:“不确定因素太多,你所需的时间取决于其他人所化的时间。”还有对某个bug修改修复所需时间的错误估计,修复起来比铁杵磨成针还难,时间远远的会超过预期,最终就会出现“失速”。如果说现有的程序员工作能力有限,那么就往项目里添加新人就好了啊,可是又出现了布鲁斯法则:“往已延误的项目中补充人力,只会使其继 续延误。”