《人月神话》读后感

来源:互联网 发布:平面设计软件下载 编辑:程序博客网 时间:2024/04/27 10:26

中国科学技术大学软件学院  裴斐原创作品,转载请注明出处

在软件领域,技术的发展总是非常快,很多书籍和技术随着技术的进步转瞬即逝,但总有几本书书被认为是开发人员的“圣经”,牢牢占据在他们的书架上,《人月神话》就是其中的一本。
我在三年前别人的强烈推荐下买了这本书,但由于两个原因一直没有很好的阅读它:其一是因为当时买的是英文版,里面除了大量的专业词汇外还有些俚语,阅读起来有些困难;其二是当时刚刚做一些项目,对项目的进度和控制以及管理没有什么概念,所谓不当家不知柴米油盐贵。但随着工作的深入和项目经验的积累,我对如何能管理好整个软件生命周期以及个人技术开发与团队合作之前相辅相成的平衡关系越来越感到困惑,在创业受挫后,我选择了科大作为二次修炼的起点,在孟宁老师的软件工程课上听到《人月神话》不断被引用后,我决定重新翻开它,好好阅读一番。
在软件项目管理过程中,人们常常会对开发过程中和开发环境中各类独特的问题和挑战感到困惑。但读完这本书后我才知道,许多之前觉得独特的问题确是在软件开发过程中常见问题,它们将反复出现,而且有可预见性。然而许多开发人员和管理人员都没有对它们足够重视,无论是OS/360的那个年代还是当今时代。读了这本书我才意识到,在我出生之前,一群在IBM工作的技术人员在40年前已经对如何解决这些问题和挑战充满经验,并且这些经验放在40年后的今天依旧有效。这本书开题从软件危机的“焦油坑”说起,不断的提出问题,然后给出解决问题的建议,这些建议将帮助我们越来越好的管理自己,提高效率减少浪费时间和精力。简而言之就是做到事倍功半。
一些Brooks的见解和概括如下:
Brooks法则一:“向已经延期的软件项目中添加人力只会使它变的更糟糕。”在这里Brooks对如何在团队人员变化或人数增加后进行沟通,以及人员在加入团队后适应团队的学习曲线做出解释和讨论。Brooks倡导的“外科手术式团队”目前已经被大多数公司所采用,外科手术队伍常由由外科医生和副手来解决问题,他们构成了整个团队的核心,副手不是简单的打杂人员,而是外科医生的后备和左右手,他们在经验丰富后就可以升任为外科医生,这样分清主次的目的是为了提高整体效率。Brooks认为这种方法可以将有经验的首席程序员解放出来,让他们能够真正的专注于产品和程序实现。对于一个软件项目,适合的团队规模在20人左右,这是一个专职的IT项目经理可以管理的最大值。由于项目进度压力需要增加团队规模到100人的时候,则可以将100个分解为5个项目,由5个项目经理来管理,这是减少和有序化沟通渠道最有效的方式。
Brooks法则二:“没有银弹”,在欧美的传说中,只有银弹才能够杀死恶魔。Brooks把规模越来越大的软件项目比喻成恶魔,人们常常寄希望与能有一种技术能够像银弹杀死恶魔那样,将这个问题解决,但他认为,这样的银弹是不存在的。书中提到“没有任何技术或管理上的进展,能够独立地许诺十年内使生产率、可靠性或简洁性获得数量级上的进步。”在事隔数十年后的今天看来依旧正确。软件系统要不断面对新的问题和越来越高的复杂度,想要有自动编程平台一劳永逸是不现实的。只有不断改进开发过程和开发方法,加强组件的复用,才能尽量克服开发难度,努力通过软件危机的瓶颈。
书中还提到了一些其他软件工程理念,比如时间分配法则“三分之一用于设计,六分之一用于编码,四分之一用于模块测试,四分之一用于系统测试”,如何对待文档:“文档是必须且重要的,但往往不被关注”。以及强调软件测试的在项目中的重要性,由于篇幅原因在这里就不一一细说了。
最后我想以书中“没有银弹”里作者的观点结尾:“如何完成一个好的软件项目,最重要的不是开发工具,而是优秀的工程师和管理人员。如何让这些人才更好的成长和发展,才是我们急需解决的问题。”

0 0
原创粉丝点击