人月神话读书笔记01

  这里的“人月”指人数×月数,即劳动力×时间;这里的“神话”指一种理想的想法,即认为工作量=劳动力×时间,当时间有限而不能改变时,我们可以通过增加劳动力(人数)来达到预期的工作量。然而,作者通过许多事实告诉我们,这是无法实现的,这个神话终将破灭。究其根本,人不是机器,不具有线性叠加的机制,尤其是面对软件开发这样需要分解成多个部分而且处理不同部分的人之间很可能需要充分交流的复杂工作时,人数这个变量的内在复杂度会指数上升。

  目前整本书对我们来说最大的启发是——我们可以采取怎样的手段来减少这种内耗并提高开发效率呢?一个行之有效的方法是让团队中少数几个有才能和想法的人来编写产品手册(或者说是制定出产品的市场定位及功能),他们被称之为结构师,其余的人则是负责将这些功能实现,当然在此之前需要对整个产品体系进行合理的划分,使得各部分间尽量独立,从而减少不同部分实现人员间的纠缠。不过,更加现实情况是大家都反对专制,想提出自己的一些想法,而过多的想法势必导致产品结构的松散,开发过程的混乱以及效率的低下。因此,我们应该提倡小而精的结构师团队,而大多数人只关注怎样去实现即可。

  对于编程,有其乐趣和苦恼。创建事物的快乐,开发对其他人有用的东西的乐趣,将可以活动、相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力,面对不重复的任务,不间断学习的乐趣,工作在如此易于驾驭的介质上的乐趣——纯粹的思维活动,其存在、移动和运转方式完全不同于实际物体。将做事方式调整到追求完美,是学习编程的最困难部分;由其他人来设定目标,并且必须依靠自己无法控制的事物(特别是程序);权威不等同于责任实际情况看起来要比这一点好一些;真正的权威来自于每次任务的完成任何创造性活动都伴随着枯燥艰苦的劳动,编程也不例外人们通常期望项目在接近结束时,(bug、工作时间)能收敛得快一些,然而软件项目的情况却是越接近完成,收敛得越慢产品在即将完成时总面临着陈旧过时的威胁。

  以上就是我本月对于《人月神话》的学习心得,这些学习经历让我受益匪浅。

posted @ 2023-03-31 22:06  霍普金斯大学丁真  阅读(25)  评论(0)    收藏  举报