admin管理员组

文章数量:1548770

  人月神话是一篇由美国软件工程师弗雷德里克·布鲁克斯所写的软件工程经典之作,最早发表于1975年。这篇文章的全名是《人月神话:软件工程的神话与现实》(The Mythical Man-Month: Essays on Software Engineering),它涵盖了布鲁克斯在IBM公司参与OS/360操作系统开发过程中的经验和观察
  本书英文版一经面世,即引起业内人士的强烈反响,后译为德、法、日、俄、中、韩等多种文字,成为软件开发和管理人员的必读经典。


📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。
📗本文收录于恒川的日常汇报系列,大家有兴趣的可以看一看
📘相关专栏C语言初阶、C语言进阶系列、恒川等,大家有兴趣的可以看一看
📙Python零基础入门系列,Java入门篇系列、docker技术篇系列、Apollo的学习录系列正在发展中,喜欢Python、Java、docker的朋友们可以关注一下哦!

推荐好书《人月神话》

  • 一、读《人月神话》后的感想
  • 二、软件工程领域的危机
  • 三、实践经验和管理方法
    • 1. 经验
    • 2. 管理方法
    • 3. 概念一致性
    • 4. 团队组织
    • 5. 沟通能力. 控制软件管家度

一、读《人月神话》后的感想

  最近读了一本书《人月神话》,这本书是软件工程类的一本经典著作。阅读这本书的第一感受就是感觉这本书不像是一种和学习相关的书,更像是用很多形象的比喻,阐述项目管理当中的一些问题,让读者能够很轻松,明白的去阅读。一般在大学学习计算机行业的时候,都会学习一门叫做软件工程的课程,老师也会跟我们讲一些关于“软件项目开发的完成与增加人员的问题”,在读这本书的时候,这个问题给了我很大的感触。很多人认为,当任务在规定期限内还完成不了的时候,适当的加一些人员进去,可以加快任务的进度,从而能够在规定的时间完成任务。但是这个观点在软件工程当中是不适用的。这也是我在阅读完《人月神话》这本书时最大的感受。这本书的第二章就讲述了人月神话的关系,完成工作的人数和时间是不能进行简单的互换的。因为新加入的人对原有的项目不了解,需要花时间培训,读后感交流,同时新人也有可能对原有的设计有不同的意见,这些都会导致任务的进度大打折扣。“向进度落后的项目中增加人手,只会使进度更加落后”,是这本书作者布鲁克斯得到的结论。我觉得开发一个软件,要有合理的时间进度安排,项目开发的人员少而精,团队开发之前要提前交流,开发的时候要持续的沟通,合理的分配任务工作。所有只有在一个团队沟通了解,通力协作和努力下,才能更好的完善项目。

  在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。读完本书后,感触颇深,书中通过介绍在软件项目开发过程中遇到的一系列问题,以及解决的方法,向IT从业者讲述软件开发过程中需要注意的各种问题。

  我想更仔细地阅读,但我们的项目经验与作者大不相同(下面我会介绍一下作者)。书中的许多概念仍然给我留下了深刻的印象,将来,当我有更丰富的团队作战经验或管理经验时,我可能会有更多的收获。
下面让我们来了解一下作者:
作者简介
  小弗雷德里克·P.布鲁克斯(Frederick P.Brooks,Jr.1931-2022),图灵奖得主、美国国家科学院院士,对计算机体系结构、操作系统和软件工程做出里程碑式贡献的计算机科学家。

  布鲁克斯博士于20世纪60年代初主持与领导了被称为人类从原子能时代进入信息时代的标志的IBM/360系列计算机的开发工作,取得辉煌成功,被认为是“IBM360系统之父”。布鲁克斯博士创立了北卡罗来纳大学的计算机科学系,并于1965-1985年担任系主任。他还曾任职于美国国家科技局和国防科学技术委员会。

  布鲁克斯博士作为硬件和软件的双重专家和出色的教育家始终活跃在计算机舞台上,因其专业成就和对计算机体系结构的卓越贡献而屡获表彰,包括美国国家技术奖、ACM杰出服务奖、ACM Fellow、ACM Newell奖、IEEE McDowell奖、计算机先驱奖、冯·诺伊曼奖、富兰克林学会鲍尔奖、图灵奖等。
  了解作者之后我又对文章有了更深的感悟。
  接下来,让我们谈谈我在阅读后对软件工程的新理解。

二、软件工程领域的危机

  围绕成本核算的估算技术,混淆了工作量和项目沟通技能的进展。月亮是一个危险和欺骗性的神话,因为它表明人员的数量和时间可以相互替换。
  日夜和程序员在一起bug在顽固的过程中,我们也形成了乐观的心态。自然,我们在时间、成本和人力估计的艺术软件项目中也带来了乐观的色彩。什么是这个乐观的色彩数据库也是我们思维的双刃bug。但现实很骨感,真正的架构师工资软件项目往往面临延迟交付。
  我们常常觉得人多力量大,人人齐心协力,断金。如果是一次性分配,可以自己开始,互不干涉,那么这句话无疑是正确的。只要花在可控成本上,人越多,任务就越快完成。
  但是软件项目在数据库系统若干人员软件中分解任务时会引发额外的工作量——培训和沟通。这都需要时间、金数据库系统的核心是钱和人力的成本。向项目中增派新的人手从三个方面增加了项目必要的总体工作量:任务重新分配本身和所造成的任务中断:培训新人员、额外架构师证书的相沟通技巧和方法互沟通。
作者在书中提到了一个Brooks法则:
增加进度落后的项目人员只会使进度落后。

最后我想再说一下看完后得出的经验和方法

三、实践经验和管理方法

1. 经验

  同样有两年的经验且受到软件商店下载相同培训的情况下,优秀的专数据库设计业程序员的效率是较差的程序员的10倍。
  这促使我们奠定坚实的基础,成为团队不拖软件测试后腿沟通技能和方法程序员,很难想象软件工程专业程序员的工资只有十倍的技能差异,所以雇佣一个优秀的程序员为公司获得九倍的效率,这无疑是建筑师和程序员之间的差异是巨大的回报。

2. 管理方法

  小而有能力的团队是最好的,尽可能少的数据库。但对于真正意义上的大系统来说,小而有能力的团队太慢了。
  那么,对于大型系统来说,软件商店下载有哪些更好的管理方法呢?这是书中一个经典的例子:外科团队。
  对于大多数大型编程系统来说,开发方法成本高、速度慢、软件库效率低,开发的产品无法整合概念。
  所以有一个首席程序架构员,像外科团队团队架构达到了这样的效果——由少数头脑构建完整的产品概念,数据库系统的核心是整体生产率,也完全减少了架构图沟通的工作量。

3. 概念一致性

1)为什么要有概念一致性?
  为了获得概念的完整性,设计必须由一个人或一个有共识的小团队来完成。
无论项目规模如何,都有必要将数据库管理系统的设计和实现分开,这是一种强有力的手段,可以获得完整的概念架构是什么意思。正如我们在软件系统结构课程中学到的重要概念解耦一样,我们将抽象方法包装在单独沟通的重要性类别中,并在具体实现中调用抽象类别,使编程不局限于复杂的实现细节,易于维护和修改,这就是架构师的意义。
  某些规则有利于软件项目的推广。外部沟通的重要性体验部的系统结构规定实际上增强了个人或小团队的创造力,因为他们在编程时有一个统一的边界,不需要花很多时间绞尽脑汁思考和交流软件架构等抽象事务,从而专注于软件的实现,从而提高开发效率,提高软件质量。
2)如何设计概念?
  为了准确性,我们需要正式的设计定义,同样,我的软件工程需要记叙定义来加深理解。
  刚读到这里,我不是很产品批号是生产日期理解正式定义,后来想到离散数学逻辑知识,软件商店下载可能数据库系统的核心是解决所谓的正式应该使用特定的语言规则产品设计表达定义,以软件测试确保数据库的逻辑意义,同时沟通,为了提高可读性,沟通能力辅以叙述性文本,降低沟通成本。

4. 团队组织

1)交流
  因为左手不是软件技术专业知道右手在做什么,导致灾难、不合理的功能和系统缺陷。由于对他人的各种假设,团队成员之间的沟通能力开始出现偏差。
当我第一次加入老师的项目团队时,我负责在前端页面上设置沟通技巧计。然而,由于项目不是很紧急,我在学习新技术方面很懒惰,团队之间的沟通没有数据库系统的核心。因此,在第一个项目节点中,由于缺乏团队沟通,我积累的疑问没有得到解决,幸运的是,当时项目分工明确,我的部分和其他学生暂时不需要对接,但在交流软件库蓝奏云果时有点尴尬。
2)项目工作手册
  项目工作手册不是一个独立的文档,而是组织项目必须生成的一系列文档的结构。
我们需要尽快和仔细地设计如何制作手册的结构,每个产品经理也应该了解所有的材料。
之前有过几次团队合作经验,从最初的校园培训,项目文档——每个人都有自己的一部分,到最后必要的时刻聚集在一起,数据库技术后来使用雀平台管理项目所有文档,从需求分析到数据库设计到接口设计,实时更新在线,使团队减少一些不必要的沟通,提高沟通效率,也减少了文档更新,没有及时通知项目组成员。
3)组织架构
  团队组织的目标是减少必要的沟通和合作。为了减少沟通,组织结构包括人力划分和责任范围限制。
  传统的树软件工程专业组织反映了权力数据库管理系统的原理结构,即不允许双重领导。然而,组织中的沟通是网络的,因此组织结构图中的虚线部分是调整沟通路径,以克服树组织结构中缺乏沟通的困难。
  每个子项目都有两个领导角色——产品负责人、技术总监或架构师。他们是左手和右手,他们的功能非常不同。

5. 沟通能力. 控制软件管家度

  控制大型项目的第一步是指定由里程碑和日期组成的进度表。
里程碑必须是具体的,软件量可以明确定义,这样软件测试,程序员就不能欺骗数据库系统工程师,欺骗里程碑的进展。
  所有成员的产品密钥都必须有评估机制才能通过它了解真实状态。
  评审使我们能够及时关注个人进度、团队沟通技巧和方法团队进度数据库设计的差异。如果有一个计划和控制软件系统小组来维护里程碑报告,这将对项目的及时交付有很大的帮助。

京东购买链接:

京东购买链接:人月神话


  如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下,谢谢大家!!!
  制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。

本文标签: 人月神话软件工程现实