梦断代码阅读笔记02

  由于时间的有限和电子版不方便的限制(没有借到原书),并没有详细的阅读完这本《梦断代码》,只是对书中内容有了一个大致的了解,明白了本书的章节和脉络布局。

  《梦断代码》是作者罗森伯格对OSAF主持的Chandler项目进行田野调查,跟踪经年,试图借由Chandler的开发过程揭示软件开发中的一些根本性大问题。本书是讲一事,也是讲百千事;是写一软件,也是写百千软件;是写一群人,也是写百千万人。任何一个在软件领域稍有经验的技术人员看完本书,必掩卷长叹:做软件难。软件乃是人类自以为最有把握,实则最难掌控的技术。对此我也发表一下自己的看法:软件实在是难做,因为它本身是动态发展的,当今时代是一种适者生存的局面,软件在动态中发展,也在动态中消亡......

  本书从一开始就吸引了我的兴趣,而且描述的就是日常工作中经常碰到的场景,有时候也想知道这些技术大牛们日常开发会是怎么进行的呢,和自己相比又会有什么不同呢,会不会也像我们一样呢。看了几章后发现,虽然这些技术大牛们开发的项目目标比我们平时的任务宏伟很多,根本就不是一个量级的,但是日常开发遇到的问题也大同小异,需求不明确,人员流失,沟通不顺畅,bug难修复等等相似的问题。

  对这本书的一些小故事比较有趣,想和大家分享一下。

  故事一:某位开发人员计划修改一个bug,需要4小时,但是实际上8个小时也没做出来,甚至给他8天也解决不了。文中提到的这个bug最终被解决是在几个月后。有时候修改这种棘手的bug正的像这位开发人员所说:有时候,你一觉醒来,脑中灵光闪现,于是手到擒来--大抵如此。

  故事二:开发模式的选择,书中提到了“大教堂与集市”这本书,大教堂的模式可以说是传统的开发模式,而集市模式被很多开源项目采用,比如Apache Web服务器,Linux。咱们一般开发自然用的是大教堂模式了。

  故事三:历史上有很多失败的项目,例如FBI耗资1亿7千万美元,为了提高反恐能力的计算机项目失败,失败原因是FBI受到9/11事件的刺激把需求列表陡然拉长。美国国内税务局至今用的系统是20世纪60年代开发的,在95年曾试图升级,花费了20亿美金后,国会取消了这个失败的项目,失败原因:需求不断改变,预算和进度安排不切实际等。04年英国养老金系统全面停止运作,事故原因是:在把7台window 2000升级至window XP时,不小心把升级范围扩展到数千台没准备好的机器上。所以,如果你正在做的项目失败了,别太气馁,你不是第一个,也不是最后一个。

  故事四:以时间来驱动版本的发布。书中提到项目的0.2版是一个很烂的版本,但是还是发布了,因为承诺的发布时间到了。虽然书中的项目组汲取这次的教训,不再以时间来驱动,但是我觉得用时间驱动版本发布是一种比较有效的方式,它让开发人员有一个奋斗的目标,尽快完善自己的开发模块。

  ......

原文地址:https://www.cnblogs.com/JYQ-hu/p/5545947.html