【软件工程】软件工程之道—《人月神话》读后思考

2023-09-04 23:04:25

目录

写在前面 

1 图书介绍

2 读后思考


写在前面 

《人月神话》是一本由弗雷德里克·布鲁克斯(Frederick P. Brooks)所著的计算机科学经典著作。这本书首次出版于1973年,至今仍然被认为是计算机科学领域的重要参考书籍之一。

它对我产生了深远的影响。通过作者弗雷德里克·布鲁克斯的深入剖析和丰富的实践经验,我对软件开发项目的管理有了全新的认识。

1 图书介绍

《人月神话》是一本关于软件工程的经典著作,主要贡献是对软件开发过程的几个重要关键点,提出了独到的见解。这些关键内容包括:

  • 提倡外科手术式的团队组织
  • 重视文档和代码的质量
  • 强调测试的重要性
  • 提倡使用设计模式等技术

 

2 读后思考

首先,我被书中阐述的“人月神话”观点深深震撼。这个观点指出,在软件开发项目中,添加更多的人力资源并不能保证缩短项目的时间

相反,过多的人员参与会导致沟通成本的增加、团队协作的复杂性增加,进而导致项目进展更加缓慢。

这一观点的真实性深深触动了我。让我开始思考在项目中如何更好地管理团队,合理安排人力资源,以提高项目的效率和质量。

其次,书中提到的“外科手术团队”概念给我留下了深刻印象。布鲁克斯通过对外科手术团队的比喻,强调了小而精干的团队在软件开发中的重要性。

在一个高度协作、高度专业化的团队中,每个成员都扮演着关键的角色,并能够高效地完成自己的任务。

另外,外科手术团队的概念还强调了团队的紧密性和团队成员之间的有效沟通。在外科手术中,团队成员之间的沟通是关键,他们需要清楚地传递信息、协调行动,并在需要时迅速作出决策。

同样地,在软件开发团队中,有效的沟通和协作也是至关重要的。团队成员需要共享信息、交流想法、解决问题,并保持良好的沟通渠道,以确保项目的顺利进行。

通过引入外科手术团队的概念,作者强调了小而精干的团队在软件开发项目中的优势。这种团队结构能够提高效率、降低沟通成本,使得团队成员更专注于自己的领域,并在紧密合作中取得更好的成果。

外科手术团队的成功经验为软件开发项目提供了有价值的参考,帮助我们构建高效、协作和专业化的团队,从而提升项目的成功率和质量。

这给我启示,在项目管理中,应该尽量形成紧密的团队,让每个成员能够发挥自己的专长,并在协作中取得更好的成果。 

此外,书中还探讨了软件工程中的众多挑战和困境,例如

  • 需求变更
  • 进度压力
  • 技术风险

布鲁克斯通过深入剖析这些问题,并提出相应的解决方案,使我对项目管理和软件开发的复杂性有了更深入的理解。

让我认识到,在软件开发过程中,绝不是简单地按照计划执行,而是需要灵活应对变化,同时注重团队的技术能力和沟通协作能力的提升。

 总结:

《人月神话》这本书对我来说是一本启发性的读物。它帮助我更好地理解了软件工程的本质,并提供了许多宝贵的经验和指导,使我在项目管理和团队协作方面受益匪浅。

无论是作为一个软件开发者还是一个团队领导者,相信这本书能够帮助我们更好地应对软件开发的挑战,并取得更好的成果。

强烈推荐《人月神话》给所有对软件工程感兴趣的人,相信它会给你带来新的思考和启发。

图书名称

图书名称:

  • 《人月神话(纪念典藏版)》

有兴趣的小伙伴,可以点击下方链接查看详情

《人月神话》

更多推荐

C++ 里 ++i 是原子操作吗?

1.什么是原子操作在多线程环境下,原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何contextswitch(切换到另一个线程)。原子操作可以确保某些特定操作在多线程条件下,不会由于线程切换而导致数据污染。比如,对一个变量的读/写操作,就是一个常见的需要原子化的场景。如果把这

解析ASEMI代理瑞萨R7S721031VCFP#AA1芯片及其优势

编辑-Z在无数种芯片中,R7S721031VCFP#AA1芯片以其独特的性能和优势,脱颖而出,成为许多原创硬件开发人员的首选。本文将从各个层面详细介绍R7S721031VCFP#AA1芯片。一、R7S721031VCFP#AA1芯片简介R7S721031VCFP#AA1芯片是一款功能强大的高性能芯片。这款芯片的核心采用

重要记录(关于字节对齐):32位类型的指针指向的地址

重复:32位类型的指针(如int、uint、float等)指向的地址必须是4字节对齐的(能够被4整除),否则在访问该指针指向的内容时(无论是存还是取)会进入Hard_fault!!!比如以下代码必然出错:int*pp=(int*)0x20000002;intdatap=*pp;INFO("datap=%d",datap

CPU、内存、缓存、硬盘的定义和关系

CPU、内存、缓存、硬盘文章目录CPU、内存、缓存、硬盘1.CPU2.内存3.缓存4.硬盘5.数据交换过程1.CPUCPU:CPU是中央处理器(CentralProcessingUnit)的缩写,中央处理器是一块超大规模的集成电路,是一台计算机的运算核心和控制核心,它的功能主要是解释计算机指令以及处理计算机软件中的数据

分享一个springboot+uniapp基于微信小程序的校医务室健康服务系统源码 lw 调试

💕💕作者:计算机源码社💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流!💕💕学习资料、程序开发、技术解答、文档报告💕💕如需要源码,可以扫取文章下方二维码联系咨询💕💕JavaWeb项目💕💕微信小程序项目💕💕

java学习--day18(TreeSet底层&内部类)

文章目录1.二叉树的了解2.使用比较器将数据存储到TreeSet中3.匿名内部类3.1基于抽象类的匿名内部类3.2基于接口的匿名内部类4.内部类4.1成员内部类昨天总结:ArrayList:就是单纯的addLinkedList:也是单纯的addHashSet:不单纯得重写equals和hashCode方法TreeSet

本地搭建CFimagehost私人图床——“cpolar内网穿透”

文章目录1.前言2.CFImagehost网站搭建2.1CFImagehost下载和安装2.2CFImagehost网页测试2.3cpolar的安装和注册3.本地网页发布3.1Cpolar临时数据隧道3.2Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置)4.公网访问测试5.结语1.前言图片服务器

Docker ~ 从入门到入坑。

Docker~从入门到入坑。文章目录Docker~从入门到入坑。Docker实用篇。0.学习目标。1.初识Docker。1.1.什么是Docker。1.1.1.应用部署的环境问题。1.1.2.Docker解决依赖兼容问题。1.1.3.Docker解决操作系统环境差异。1.1.4.小结。1.2.Docker和虚拟机的区别

2023/9/20总结

mavenmaven本质是一个项目管理工具将项目开发和管理过程抽象成一个项目对象模型(POM)POM(ProjectObjectModel)项目对象模型作用项目构建提供标准的自动化项目构建方式依赖管理方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题统一开发结构提供标准的、统一的项目结构安装Maven–

二、链表(linked-list)

文章目录一、定义二、经典例题(一)[21.合并两个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists/description/)1.思路2.复杂度分析3.注意4.代码(二)[86.分割链表](https://leetcode.cn/problems/par

【错误记录】Android Studio 中最新的 Gradle 配置中设置插件依赖 ( 2023 年 8 月 24 日 | 最新 Gradle 中配置插件依赖的变化 | 增加 Maven 仓库源 )

文章目录一、最新Gradle中配置插件依赖的变化二、报错信息三、增加Maven仓库源五、使用老版本方式导入插件一、最新Gradle中配置插件依赖的变化当前最新的AndroidStudio开发环境,生成的Gradle配置脚本使用了最新API,用起来不太习惯;根目录下的build.gradle构建脚本变成了下面的样式,单纯

热文推荐