首页 > 其他分享 >人月神话1

人月神话1

时间:2023-05-09 15:56:30浏览次数:30  
标签:本书 经验 神话 系统 开发 团队

第一次看到《人月神话》这本书,若不是老师推荐,还以为是本神话小说呢!由于对软件工程了解的不多,对这本书的解读不深刻。不过,从很多方面可以了解到这是一本畅销的、具有深远意义的书。

这本书讲述了几十年前软件专案管理问题与经验,作者将大型系统开发比作一个焦油坑,我原本以为软件开发还是比较容易的,有了新想法,就会有新的软件产品出现,但是却不知道项目不能满足目标、进度、预算的要求,就不能成为一个好项目。

程序,通过不同的途径转变成不同的产物,使之变得更有用,成本更高。但是只有变成系统产品才成为真正有用的产品。

编程不是人越多越好,人与时间不成正比。人越多,所需的时间不一定越少;人少,项目完成时间不一定越长。在外科手术这一章节中提到,在接受相同的训练、同样都是两年资历的情况下,优秀专业程序员的生产力要比差劲的程序员好上十倍。使用少数优秀的人员的团队是最棒的——尽可能用最少的人。两人团队,其中一人当领导者,这通常是最佳的用人方式。以少数优秀人员的团队开发真正大的系统就太慢了。绝大多数大型软件系统的经验显示,使用一堆人蛮干的方式最耗成本、最慢、最没有效率,做出来的系统在概念上也最不完整。 

作者主张概念完整性在系统设计中是最重要的考虑因素,他以OS/360系统的开发证明了自己的观点。完整的概念使得系统设计过程更加有条理,分工更加明确,对系统的各部分设计更加明确,再出现错误时更加容易的去改正。

书中讲到了开发第二个系统所带来的后果,在开发第一个系统时结构师倾向于精炼和简洁,他会仔细谨慎地工作。第二个系统是设计师们所设计最危险的系统。曾在第一次系统中被小心谨慎地放在次要位置的向系统中添加很多修饰功能和想法将会泛滥。OS/360的设计小组成员来自1410-7010磁盘操作系统、Stretch操作系统、Mercury实时系统项目和7090的IBSYS,几乎没有人有两次以上的操作系统经验,OS/360是典型的开发第二次所引起的后果。结构师无法跳过第二次系统,但他可以有意识的关注这个系统的特殊危险,运用自我约束规则避免功能上的过于修饰,根据系统基本理念及目的变更,舍弃一些功能。这些对于每一个软件学习者都是很受用的。

“经验是最好的老师”、”经验是最好的老师,但智者还能从其他的地方有所收获“,经验固然最好,但是除了经验,我们还要学还从其他方面获取知识。

在这本书中,虽然讲述了很多案例,但都离不开团队、人和沟通。无论任何事情,人的重要性,人之间的沟通都是不可缺少的。在软件开发中,对于大型的软件工程项目仍然强调了人的重要性。作者在开篇就在讲开发人员的职业乐趣(自己选择软件工程的原因也是喜欢编出程序的乐趣),后面又通过巴比伦塔讲沟通的重要性,又在外科手术队伍中讲团队的组建和分工。这些都涉及到了团队中的人和交互,只有一个有了积极心态和热情的沟通团队,才可能成就一个伟大的团队。最后的没有银弹再次肯定了开发工作是一种高智力的脑力工作。

我认为《人月神话》这本书十分适合软件程序设计者,虽然他简述了许多几十年前的事,但对于现在,仍具有教育意义,它使我们提前意识到软件开发过程中的一些弊端.

标签:本书,经验,神话,系统,开发,团队
From: https://www.cnblogs.com/liuxuefeng/p/17385365.html

相关文章

  • 人月神话读后感2
    之后继续阅读了人月神话。基于上一章的结论:更大的队伍不一定能带来更快的开发进度,那么,问题来了,什么样的队伍才是合适的呢,小团队固然高效,但是你不能指望一个20人的小团队在合理的时间内去开发一套完整的操作系统吧?作者在这一章里给出了解决方案:将大项目合理地划分成更小的系统,各......
  • 02人月神话阅读笔记
    作为软件开发行业的经典之作,《人月神话》(TheMythicalMan-Month)已经影响了整个计算机领域的发展。作为一本关于软件项目管理的著作,《人月神话》通过作者FredBrooks几十年的管理实践和对于软件开发项目中某些惯常错误的深刻洞察,提出了一系列精辟的观点和理论,让读者可以更好地了解......
  • 人月神话读后感 一
      由于该书所描述的内容比较庞杂,本人预计将分为三篇文章对于相关内容和感想进行阐述。作为开章第一篇,就先来说说为什么“人月”是“神话”。小学的时候我们都做过这样的应用题:“工厂需要加工一批零件,安排5名工人的话需要10小时完成,那么安排25名工人加工,多少小时可以完成”之......
  • 2023.4.28《人月神话》读后感
    第二章 人月神话1.缺乏合理的时间进度控制是造成滞后的主要原因,比其他任何事情影响的和还大;2.好的东西需要一些时间来沉淀;3.似乎所有的程序员都是“乐观主义者”;4.期待不会有困难;5.本身构思是有BUG的;6.围绕成本核算的估计技术,混淆了工作量和项目进展;7.若干人员中分解任务会引发......
  • 人月神话阅读笔记3
    第十三章涉及软件开发中普遍性的问题。尽管每个软件项目都有其独特之处,但是软件开发中也存在许多普遍性的问题,如进度管理和技术选型等。作者提出了一些建议,如制定标准的进度计划和技术选型标准等,用以避免类似的问题在未来出现,并使软件开发工作变得更加高效、可靠和可预测。第十四......
  • 人月神话读书笔记一
    用了将近一周的时间,终于把人月神话读完了。本想着今天把读书笔记全部发完,但是老师要求每天都要发表博客,所以我决定分三天发表。我看的是40周年中文纪念版。相比于原版增加了一些作者根据今天软件工程管理现状添加的一些新的观点与评论,看看哪些过时了,哪些依然有效。人月神话在......
  • 《人月神话》读后感 3
      第五章主要介绍了项目的初步探讨,阐述了一个项目在启动之前需要考虑的因素,包括项目的目标、需求、资源、约束等等。读完这一章,我认识到项目启动前的准备工作非常重要,只有在充分考虑所有因素后,才能建立一个可行的计划并确保项目的成功。  第六章是这本书的核心章节之一,主要介......
  • 《人月神话》读后感2
      在第三、四章中,作者强调了软件开发过程中人员的重要性,以及团队合作的关键作用。  在第三章中,作者讲述了“向生产力之路”这一概念,即通过增加人力、时间或资源来提高软件开发的生产力。然而,作者指出这种做法并不可行,因为人力、时间和资源的增加并不能带来相应的效果提升,反而......
  • 2023.4.26《人月神话》读后感
    1.编程系统产品开发的工作量是供个人使用的、独立开发的构件程序的九倍。2. 编程行业的一些内在固有苦恼:● 将做事方式调整到追求完美,是学习编程的最困难部分。● 由其他人来设定目标,并且必须依靠自己无法控制的事物。● 真正的权威来自于每次任务的完成。● 任何创造性......
  • 《人月神话》——读后感5
    过去是怎么做的:  对于某个项目的功能规格制定或说明,我总是喜欢在项目一开始就规定好大体框架。然后在具体的功能实现中,如果发现了有其他功能缺失,会再添加进来。为什么这样不好:  我觉得我这样没什么问题。但是我的项目开发经验确实还不足。解决办法:  多认真完成老师要求......