梦断代码 阅读笔记02
《梦断代码》阅读笔记02
我一直认为, 读书最大的功用之一, 就是能激发我们的思考, 是打开思维源泉的阀门; 这本书很好的起到了这一作用, 它让我们去思考软件开发的过程、 方法、 管理…, 为我们思考这些提供了真实生动的案例,也对现实的工作有些指导和警示作用。
为什么好软件如此难做?这是我本人, 我想也是很多软件都在苦苦思索的一个问题, 虽然无人能有完全确定的答案,但通过书中的记述和个人思考,还是可以获得一些启示:
计算机严格的逻辑性和精确性,同人类不严密的逻辑,模糊多变的思维模式之间的矛盾,造成的人与机器之间沟通的障碍。
开发团队之间相互沟通协作的成本,导致产生《人月神话》作者布鲁克斯法则的悖论 - 往已延误的项目中补充人力,只会使其继续延误。
项目目标不明确,标靶变来变去,因此有时决定说什么,比怎么说更困难。
项目目标不切实际, 从一开始就想做一个适合所有人的, 能做所有事的系统, 造成就如要做永动机一样的结局。
我想人们大多都知道古老圣经中巴别塔的寓言, 软件工程难于成功的原因, 也许就蕴藏在这寓言启示之中,本质上在于沟通的问题:
软件使用者与软件的沟通, 软件需求者与开发者的沟通, 程序员与程序员的沟通, 程序员与机器的沟通。
所有这些层层累叠起来,构筑了一道道通往成功彼岸的屏障。
也许有一天所有这些沟通的障碍都能被消除, 人们能轻易的相互理解, 软件工程的巴别塔真的就能轻易的建造起来了。
个人感受:
现在网上有很多关于程序员与产品经理,甲方爸爸斗智斗勇的素材出现,我们在会心一笑之后因该考虑的是为什么程序员与产品经理,甲方爸爸之间相互沟通这么难?
比如课堂练习,在老师PPT上功能要求之外可能会口头提出一些其他要求,这个时候有些同学没有认真听的话就会出现问题,不管三七二十一,先做了再说,可是到了下课提交作业时却达不到老师的标准。
首先我认为做项目软件,首先应将甲方的所有需求进行记录,然后对需求进行技术可行性分析,哪些可以实现,哪些不可以,而不应该不管三七二十一,先做了再说,到最后牛头不对马嘴!