人月神话读后感

这本书名声很大,一些大牛推崇备至。但是阅读下来需要相当的知识背景。我坚持阅读了前六章,有大量看不懂的名词,且该书内容主要偏向于操作系统的开发(上古时代操作系统),对个人的帮助很小,读完也是很快忘掉的。不过总的来说还是有些收获。

  1. 即使程序员写什么产品、功能,是要受到相当的限制的,但是编程是本身也是有创造性的工作。要充分享受其中的乐趣。那么作为系统设计者,在描述某个功能时,需要知道至少一种实现方法,但是不应该写在规范里,来剥夺程序员自己决定怎么解决问题的乐趣。设计者为什么要知道至少一种实现方法呢?因为可以避免提出类似于“需要手机壳跟着手机桌面壁纸换颜色”这种设计。
  2. 当设计者提出的功能实现,在他本人看来很简单,并且是次要的时候。但是遭到了程序员的强烈反对,说明这个功能的实现难度,需要的工作量一定是超出设计者设想的。此时放弃固执己见,是明智的。
  3. 一个产品应该有设计一致性(consistency),如果法国的兰斯大教堂,经历了8代设计师,依然保持了自己一贯设计风格。在显示了上帝的荣耀的同时,也体现了他拯救沉醉在自我骄傲中的人们的力量。那么一个软件产品,设计的一致性意味着易用性,尤其贯彻到底的内在逻辑。即便有特别优秀的局部设计,如果跟整体一致性冲突,也应该放弃。如果出现太多这样的优秀设计,那么应该考虑重新进行整个设计工作。一致性的保证,靠减少做决策的人是很有效的,在这里精英独裁,好过民主政治。
  4. 最后就是关于人月神话神话这个数名当中的人月二字的理解了。编程工作不同于收割水稻、送快递等工作的最大特征是它需要同事之间的大量沟通,并且各分工有紧密的次序关系。这就意味着一个人收割一个农场要两个月,两个人只要一个月这种计算方式,在编程工作中行不通。这也是编程工作中项目进度难以估量的重要原因。所以当发现项目进度落后时,加派人手这一自然反应,也是行不通的。不仅如此,还会降低效率。因为新加派的人手是需要培训的,即使是熟手,他也要时间去了解整个项目(这点可能在作者描述的操作系统开发这样庞大的工程中特别明显),也需要人去做培训。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 笔者已经看过的经典书籍里,对于这本的阅读可以说是最坎坷的了——17年买入,18年1月份才翻开看了四章之后不知何故放...
    夫礼者阅读 10,175评论 0 1
  • 内容简介 本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪...
    少穻阅读 1,089评论 1 1
  • 推荐理由 作者Frederick P. Brooks,是北卡罗莱纳大学Kenan-Flagler商学院的计算机科学...
    lsfire阅读 1,091评论 1 0
  • 微演讲打卡练习第89天,每天一分钟,成为最美好的自己 世界进入高速发展期,信息时代所带来的内容已经是人的大脑...
    古月无语阅读 178评论 0 0
  • 真的很感谢一朵老师,短短几天,跨越时间的障碍,带我们穿越时空,回到儿时看到并找回那个纯粹的自己,也许是我心不够敞开...
    金华丁阅读 294评论 0 1

友情链接更多精彩内容