读书笔记之梦断代码2
软件开发过程有时就是这样的一种体验,目标看是唾手可得,却又总是在你伸手摘取时,发现还有一段距离要走,问题随着开发的深入而不断涌现;
这就像是坐在大象背上的训象师,用吊在大象鼻子前的香蕉,给大象耍的把戏。
是什么原因,导致软件开发有时会进入这样一个令人惋叹的黑洞?
书的作者没有,也不可能给我们一个答案,但通过作者忠实记录于书的、就发生在当下不久的、这一真实案例,以及对软件开发历史和方法的部分介绍,
本书应当能带给我们很多有益的启示和思考。
我一直认为,读书最大的功用之一,就是能激发我们的思考,是打开思维源泉的阀门;这本书很好的起到了这一作用,它让我们去思考软件开发的过程、方法、管理…,
为我们思考这些提供了真实生动的案例,也对现实的工作有些指导和警示作用。 为什么好软件如此难做?这是我本人,我想也是很多人都在苦苦思索的一个问题,
虽然无人能有完全确定的答案,但通过书中的记述,和个人思考,还是可以获得一些启示:
计算机严格的逻辑性和精确性,同人类不严密的逻辑,模糊多变的思维模式之间的矛盾,造成的人与机器之间沟通的障碍。
开发团队之间相互沟通协作的成本,导致产生《人月神话》作者布鲁克斯法则的悖论-往已延误的项目中补充人力,只会使其继续延误。
项目目标不明确,标靶变来变去,因此有时决定说什么,比怎么说更困难。
项目目标不切实际,从一开始就想做一个适合所有人的,能做所有事的系统,造成就如要做永动机一样的结局。
我想人们大多都知道古老圣经中巴别塔的寓言,软件工程难于成功的原因,也许就蕴藏在这寓言启示之中,本质上在于沟通的问题:
软件使用者与软件的沟通,软件需求者与开发者的沟通,程序员与程序员的沟通,程序员与机器的沟通。
机器的沟通。