查看原文
其他

读百本书099《人月神话》


第一部分 此书情境


  【主要内容】

  《人月神话》在软件工程管理领域畅销40年,我看的这本是40周年中文纪念版。该书探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。书中,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。《人月神话》适合任何软件开发行业的从业人员阅读,对软件开发人员、软件项目经理、系统分析师更是必读之作。

  本书最别致的地方是,每章一幅名画开头,书中充满了大量的比喻。Brooks博士把大系统编程比做史前的“焦油坑”,“人月神话”阐述了编程任务的不可分割性,可以用“外科手术队伍”组织团队,来保证概念完整性。

  在古代的狼人传说中,只有用银质子弹才能制服这些举止无常的怪兽。“没有银弹”是Brooks博士的名言,也就是说,没有任何一种方法(无论技术上的或是管理上的),单单采取它就能将现有的软件开发生产率(可靠度/简洁度)提高一个数量级。

  其他还有一些比喻性的章节题目如下:贵族专制、民主政治和系统设计;画蛇添足;贯彻执行;为什么巴别塔会失败;胸有成竹;削足适履;提纲挈领;未雨绸缪;干将莫邪;整体部分;祸起萧墙;另外一面。


  【作者介绍】

  小弗雷德里克·布鲁克斯(Frederick P. Brooks. Jr.)是世界上第一批获得计算机科学博士学位的人之一,曾荣获美国计算机领域最具声望的图灵奖(A.M.TURINGAWARD)桂冠。美国计算机协会(ACM)称赞他“对计算机体系结构、操作系统和软件工程作出了里程碑式的贡献”。

  Brooks博士是北卡罗莱纳大学KENAN-FLAGLER商学院的计算机科学教授。他被认为是“IBM 360系统之父”,曾担任360系统的项目经理,以及360系统项目设计阶段的经理。凭借在此项目中的杰出贡献,他与BobEvarls和Erich BIocll在1985年荣获了美国国家技术奖(NationalMedal of TecPlnoIogy)。Brooks博士早期曾担任IBM公司stretcPl和Harvest计算机的体系结构设计师。

  Brooks博士创立了北卡罗莱纳大学的计算机科学系,并在1964-1984年期间担任系主任。他还曾任职于美国国家科技局和国防科学技术委员会。Brooks博士的教学和研究方向是计算机体系结构、分子模型绘图和虚拟环境设计。


  【出版时间】清华大学出版社2015年4月第1版,2019年6月第15次印刷。



第二部分 阅读情境


  【读书插曲】

  硅谷创业之父保罗·格雷厄姆(paul graham)的《黑客与画家》不只一次地提到《人月神话》。这是一本软件工程管理方面的书,太需要啦,马上下单购买了此书,作为第99本书,因为自己缺乏大型软件开发项目的管理经验,需要补补。

  小弗雷德里克·布鲁克斯(Frederick P. Brooks. Jr.)在《人月神话》中推荐阅读DeMarco和Lister在1987年出版的书《人件:高生产率的项目和团队》,2019年10月20日下单买了这本书,作为第100本书。


  【阅读感悟】

  书中有段描述“我实在无法想象还有哪种生活会比热爱计算机更加激动人心,自从真空管发展到晶体管,再到集成电路以来,计算机技术已经飞速发展”。特别能够体会到作者的心境,因为小编也有计算机情怀。

  一是从中学就梦想计算机专业

  1986年,计算机的应用在国内起步不久,民间还没有互联网。这年小编高中毕业,报考志愿时,一定要报计算机专业,还想考个名校。结果,成绩过了名校门槛分数线,但没有到计算机系的录取分数线,没有考上。那个年代,第二志愿以及第N志愿都没有作数,被昆明工学院(现在叫昆明理工大学)捡走名校掉下来的档案袋,学起了自动控制系工业电气自动化专业。

  1990年大学毕业,本来可以被免试推荐到中南工业大学继续读自动控制专业的硕士研究生,但是自动控制的方向不是小编的心仪方向,参加了毕业分配,到京郊一家国企搞了五、六年的供配电。

  1996年,小编进入了证券营业部的电脑部,开始了信息技术岗位的工作,一直在证券、基金行业干到现在。

  二是计算机没有普及之前渴望上机

  保罗·格雷厄姆(paul graham)的《黑客与画家》讲述了一个故事:格雷厄姆在哈佛大学读研究生期间,每天都要上机,但计算机系的Aiken实验室的管理员5点就下班了。幸好楼层之间有隔层,通向一扇天花板上的暗门可以进入室内,可以拿到管理员的钥匙。就这样,格雷厄姆每天可以夜间上机。

  1986-1990年间,小编所在的自动控制系只有两台电脑,只能是系里的教授们使用。为了上机编制、调试程序,小编特地申请成立了一个课外科研小组,向系里要了一个小课题,可以名正言顺地使用电脑。由于电脑数量有限,不能跟教授们抢,只能是教授下班后再去上机,经常是通宵达旦,因为天亮后教授们该用啦。

  1990-1995年间,小编所在的京郊国企动力处,有个计算机室,两名工作人员、两台电脑,一台是286,一台是386。那时的计算机室,管理很严格,是需要换拖鞋的那种。由于小编是负责供配电的,本职工作不能进入计算机室。为了编制、调试程序,小编特地向处长申请特批,工作之余可以使用计算机。因此也经常是通宵达旦上机,因为天亮后计算机室的工作人员该用啦。

  小编常常感叹,刚刚二、三十年的时间,计算机已经普及的无处不在啦!我们生活在信息技术爆炸式发展的时代,真的很幸运!


  【阅读时间】2019年10月15日至10月20日。


  【之前阅读】

《2019年上半年阅读书目》

《2018年下半年阅读书目》

《2018年上半年阅读书目》

《2017年阅读书目》

《智能搜索服务:“王占祥骆驼之旅”微信公众号倾力打造!

  提示:更多书目详见“王占祥骆驼之旅”微信公众号的“小编备忘”中的“阅读书目”栏目。


第三部分 精彩书摘


  ※《人月神话》的大部分文章在讲述软件工程管理方面的事情,较少涉及技术问题,是因为来自于一个信念,即对于项目的成功而言,项目人员的素质、人员的组织和管理是比使用的工具或采用的技术方法更重要的因素。团队质量是项目成功最大的决定因素,实际上是下一个次重要因素的4倍。


  ※人们常拿人月(Man-Month,多少人,做多少个月)来计算软件的工作量。但是,人力(人)和时间(月)之间的平衡远不是线性关系,使用人月作为生产率的衡量标准实际是一个神话。Brooks博士法则:向进度落后的软件项目中添加人手只会使进度更加落后。


  ※编程系统产品开发的工作量是供个人使用的、独立开发的构件程序的9倍。


  ※缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素的总和影响还大。关于进度安排,我的经验是1/3计划、1/6编码、1/4单元(构件)测试以及1/4系统测试。


  ※概念完整性是产品质量的核心。拥有一位结构师是迈向概念完整性最重要的一步。这个原理不仅限于软件系统,它适用于任何复杂事物的设计,如计算机、飞机、战略防御系统和全球定位系统等。

  Brooks博士提出了用外科医生加副手来组织团队,保证设计思路的完整性。


  ※个人计算机革命的一个结果是,至少在商业数据处理领域中,客户应用程序越来越多地被商用软件包所代替。


  ※从个人发展的角度,安安静静地作为一个螺丝钉仿佛不是这个时代的精神。


  ※Brooks博士在《人月神话》中明确提出了迭代开发的概念。迭代开发本身是对变更这个“怪物”的一剂良药。在变更的同时,始终有可运行的系统供调试、测试,从而确保项目的质量-质量决定成本。“远远超过最终用户需求的质量是一种取得更高生产力的手段(《人件》)”。


  ※尼采说,我的野心是用一句话说完别人十本书才能说清的事。


  注1:感谢蒋玉精检查文字。

  注2:本文将归档在本公众号的“小编备忘-阅读书目-最近阅读”栏目。

行万里路,读万卷书

健康的体魄,健康的灵魂

生命在于运动,境界在于读书

每日步行一万步,每日读书半小时

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存