读后感——人月神话

发布时间 2023-06-08 23:53:21作者: 唐青云

《人月神话:软件项目管理之道》(英语:The Mythical Man-Month: Essays on Software Engineering)是由IBM System/360系统之父佛瑞德·布鲁克斯所著经典文集,全书讲解软件工程、项目管理相关课题,被誉为软件领域的圣经,内容源于作者布鲁克斯在IBM公司System/360家族和OS/360中的项目管理经验[2]。该书于1975年首次发行(ISBN 0-201-00650-2),并于1995年重新发行纪念版(ISBN 0-201-83595-9),其中新增了对〈没有银弹〉一文的评论和回应,与4个额外的新章节

        其实当我读到《人月神话》第五章的时候,我还是对这本书的内容不大明白。就只知道一点:“这是一本关于管理性软件的书,说到了自1975年的一些管理观点和见解,过了30多年仍然适用。”管理方面的知识我没大看懂,只知道这是一本令人反复研读的书,每读一遍便有不同的收容。对我的影响便是“做事做人”的一些方式方法的领悟和思维的一些开阔。Brooks认为,一个整洁、优雅的变成产品必须向它的每位用户提供一个条理分明的概念模型,这个模型描述了应用,实现应用的方法以及用来指明操作和各种参数的用户界面使用策略。概念的完整性是易用性中最重要的因素。而架构师,则是负责保证产品所有方面的概念完整性的,架构师设计的是能够让用户理解产品概念的模型,这包括所有的功能的详细说明以及调用和控制的方法。它就像电影的导演一样。

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

         最后是第二系统效应,不但消耗了巨大花费,而且将没有经验的开发人员拉进开发是一件很囧的事情。并不会给软件管理带来好处。软件系统可能是人类创造中最错综复杂的事物,往往一个很小的功能,其实也需要开发人员的架构设计方面的完善,对其它模块的影响及扩展,以及代码编写工作。用户在前台可能看到的只是几个文字,实际是中开发人员日夜奋战的结果。很多时候,客户的需求修改,在他们眼里看起来是如此地Easy,可他们却忽视了很多他们看不到的因素---当然,这不是说怪我们的客户。我只是觉得,只有大家彼此沟通,彼此理解,才会做出精品来。