读《人月神话》之我见

【人月神话】重新探索人月神话:软件工程的现实与挑战 重新探索人月神话 1. 人月神话的来历和观点 2. 读人月神话的意义 3. 推荐好书《人月神话》 阅读详情

    《人月神话》中,作者Brooks以“焦油坑”类比大型软件项目的开发,从自身所经历的大型软件项目的开发与管理的工作入手,详尽的分析并论述了软件工程中所面临的问题与解决方案。本书并不涉及任何技术细节,正如作者在“20年后的人月神话(The Mythical Man-Month after 20 Years)”一章中所说的,本书之所以时至今日,仍能历久不衰的原因就是:《人月神话》是关于人与团队的书,所以淘汰的程度才会如此缓慢。以下将就个人的理解,浅谈以下《人月神话》中的精华所在。

概念完整性和结构师是《人月神话》的核心观点或核心概念。一个整洁、优雅的软件产品必须向他的用户提供一个完整的概念模型,而这个概念模型使得用户能够很好的了解产品的功能结构、使用以及界面的设定。概念完整性是关系到软件产品的易用性的最重要的因素,也是关系的软件开发流程和产品成败的重要因素。软件产品的概念完整性由谁负责实现?毫无疑问,结构师负责产品所有方面的概念完整性,所以,委派一名系统结构师对于软件开发来说,是最重要的行动。

结构师的工作就是,设计系统的体系结构模型或产品概念模型,包括所有功能的详细说明及调用和控制的方法。对于设计的概念模型,结构师将利用文档对之进行详细地描述和说明,开发团队的每一个人都将拥有这样一份文档说明。当然,团队中的每一个人都可以在举行的讨论会议中抒发个人意见,结构师在吸收有用的意见后,对文档进行调整更新,以确保系统在各方面的设计都是尽善尽美的,以及每一位开发人员都拥有最新的文档,这样的过程将贯穿于整个开发流程,同时,结构师具有绝对的权威,对于会影响到系统概念完整性的想法或新增功能坚决予以排除,在涉及技术方面的问题时,项目经理也要完全服从结构师的意见。如果某些功能不得不加入,但又会影响系统的概念完整性,那么,结构师就不得不考虑调整或推翻已有的设计。

概念完整性在小规模的开发团队中很好控制,对于大型的项目开发,则必须通过树状组织结构,层层控制,除了总结构师外,可以为每一个开发小组指定一名结构师,总结构师可以通过小组内的结构师传达意图或控制开发系统概念完整性,整个团队的组织结构可以仿照外科手术队伍组织。

除此之外,软件开发过程中,时间延迟也是一个不容忽视的问题。Brooks在《人月神话》中提出了一个著名的论断:(盲目地)“向进度落后的项目中增加人手,只会使进度更加落后。”(Adding manpower to a late software project makes it later.) 。开发人员的数量与开发所用的时间之间的关系,并不是线性的,其中还参杂了沟通和培训等主观因素的存在。那么,对于时间延迟应该如何解决呢?首先,要在项目开始前,利用项目经理的经验,对系统开发流程中的每一个步骤,做出大胆充分的估计,即使是毫无根据的估计也比不做估计而凭假想制定计划好得多。在此基础之上制定出项目进度表,进度表中的每一件事——“里程碑”,必须是具体的、特定的、可度量的事件,能够进行清洗的定义。此外,可在开发团队之外,设立计划和控制小组,该小组的主要职责就是向产品线经理询问什么时候设定和更改里程碑,以及里程碑是否被到达。计划和控制小组作为监督人员,明白地指出了不易察觉的延迟,并强调关键的因素。他们是早期预警系统,防止项目以一次一天的方式落后一年。

系统测试也是我们需要关注的要点。在开发过程中,系统测试是随着开发团队工作的开始而开始的,在编写代码之前,测试小组就要对规格说明进行测试,以详细的检查说明的完整性和明确性。开发人员自己不会完成这项工作:“他们不会告诉你他们不懂。相反,他们乐于自己摸索出解决问题和澄清疑惑的办法。” 随着开发进程的进行,首先要对所完成的部分进行构件单元测试,以使问题保留在较小的范围内,这样比较容易处理。最后,才是系统集成调试。如果不按照这样的方式进行测试,那么在最后的系统集成调试中出现的任何问题,都将是致命的。这就意味着前面的付出都被白白的浪费掉了。

Brooks认为,传统的瀑布开发模型是错误的。“瀑布模型的基本谬误是它假设项目只经历一次过程,而且体系结构出色并易于使用,设计是合理可靠的,随着测试的进行,编码实现是可以修改和调整的。换句话说,瀑布模型假设所有错误发生在编码实现阶段,因此它们的修复可以很顺畅地穿插在单元和系统测试中。”并提出了比较先进的开发模型——增量开发模型,“为舍弃而计划。”通过渐进的精华的迭代开发过程,对原型系统不断否定和完善,最终实现开发目标。我想,这一点对于任何开发人员来说都是深有感触地,任何一个系统,即使是天才,也不可能一次性的成功地完成开发。

最后,软件工程中并不存在“银弹”,即所谓的尚方宝剑,到目前为止,即使软件工程理论取得了长足的进步,也不能从跟上解决软件开发过程中所谓的内在的、必然的问题:复杂性、一致性、多变性、不可见性。现行的众多技术,只能解决一些边缘问题,对于这些本质的问题,还是望尘莫及的。对于这一点,还存在着众多的争论

《人月神话》中所蕴含的软件工程理论都是非常优秀的,以上仅是本人针对自身所参加过的项目开发,在读过本书之后的一点理解与体会。有不当之处,望不吝指正!

智能座舱芯片大乱斗:高通8155 vs 联发科MT8676 vs 华为麒麟990A,谁才是性价比之王? 本文深入对比了高通SA8155P、联发科MT8676与华为麒麟990A三款主流智能座舱芯片的性能、生态与成本。文章从CPU/GPU/NPU算力、开发生态、成本模型及典型应用场景出发,分析了各自在智能座舱领域的优势与适用性,为开发者与车企选型提供了实战参考,并探讨了智能座舱芯片未来的技术趋势。 阅读详情

相关推荐

SPSS实战:如何用Harman单因素检验搞定共同方法偏差(附完整操作步骤)

本文提供了一份详尽的SPSS实战指南,手把手教你运用Harman单因素检验来诊断共同方法偏差。文章从核心概念讲起,逐步详解数据准备、SPSS操作步骤、结果解读与报告撰写,帮助研究者快速掌握这一关键的数据质量控制方法,确保量化研究结论的可靠性。

weixin_29263201的博客 1697

【好书推荐】人月神话

他引用了美国政府统计署的数据,显示每年全球最大的软件消费商购买的软件中,只有2%是可直接使用的,3%需要进行修改,而其余95%则成了垃圾。他的批评指出了软件行业存在的问题,并倡导专业性的重要性。该书由Frederick P. Brooks撰写于28年前,探讨了软件工程领域的现实问题,揭示了软件行业在解决问题上存在的错误方案和缺乏专业性的现象。总之,《人月神话》被认为是软件工程领域的经典之作,以其深入的思考和思想导向,震撼了软件行业,并对软件工程的发展起到了积极的促进作用。

Maynor的博客 1532

C# 【WebService编写调用】

😹 觉得博主文章写的不错的话,希望大家三连(✌关注,✌点赞,✌评论),多多支持一下!!!

只有登上山顶,才能看到那边的风光 1173

【好书推荐】学习软件工程的必经之路 | 《人月神话》

推荐人群:从事团队项目开发的程序员推荐理由:47年过去了,软件工程依然是每个程序员的必修课,本书中讨论的问题依然存在。

Code Metaverse 974

gephi生成网络关系图_路网拓扑重建专题 (3) 网络图生成

城市道路网建模在获得基础路网之后,需要考虑道路交通网络的描述与表达问题。网络是将现实世界中的事物及其关系进行适当的抽象,构造成由节点和边按照一定规则组成的形式。一个实体网络可以由有限个“节点”集合与“边”集合构成的图表示,即网络表示为。对于一个由个节点组成的无权复杂网络,该图有邻接矩阵,这里。根据研究对象不同,建模方法主要包括原始法[1]和对偶法[2]两种,见图1,字母a-j为交叉口编号...

weixin_39761195的博客 3503

从零到一:FAST_LIO与FAST_LIO2算法环境搭建与实战评测

本文详细介绍了FAST_LIO与FAST_LIO2算法的环境搭建与实战评测,包括算法原理、环境配置避坑指南、源码编译技巧及性能对比。FAST_LIO2凭借ikd-tree数据结构在动态环境中表现优异,处理速度提升至15ms,内存占用降低40%。文章还提供了常见问题排查和进阶优化技巧,助力开发者高效实现SLAM应用。

weixin_29271053的博客 470

《人月神话》读书笔记

推荐理由 《人月神话》在软件领域具有深远影响力,畅销不衰,很少有其他书籍等比得上它。 Brooks博士为人们管理复杂项目提供了最具洞察力的见解,其中既有许多发人深省的观点,又有大量软件工程的实践,适合任何软件开发行业的从业人员阅读,对软件开发工程师、软件项目经理和系统分析师更是必读之作。 虽然0S/360失败了,但是它在开发的过程中解决了很多技术难题。它的开发过程成就了这本“人月神话“。这也让我想明

winsky 2338

深入排查127.0.0.1拒绝连接:从端口占用到Tomcat服务启动的完整解决方案

本文针对开发者访问127.0.0.1时遭遇“拒绝连接”的常见问题,提供了一套完整的排查与解决方案。文章从端口占用检查入手,详细讲解了使用netstat命令识别进程,并深入分析了服务监听地址、IPv6配置、防火墙以及Tomcat服务安装与启动等核心环节。通过实战演练,指导读者系统性地解决从网络层到应用层的各类连接问题,最终确保本地服务成功运行并可通过本地回环地址正常访问。

weixin_29279047的博客 3186

《人月神话》的观点:是或非?-转贴

此文章转贴自原著,因为高度概括了《人月神话》这本软件工程学的巨著所以作为读书笔记在此收藏。 

每天积累一点,一年后你会发现,自己变化很大 1204

clumsy一款模拟弱网的工具

利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果。

klb5555的专栏 2551

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行

本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。

打造全国最全的AI Agent开发知识领域的博客 1625

人月神话读书笔记

人月神话这本书几年前就听别人说是本很经典的软件开发方面的书,这本书的成功之处在于他思想的前卫性,以至于不只是软件行业的人在读。现在终于找到读他的理由了,可以感受一下大师的杰作。在读之前我已经读过了软件工艺和极限编程,为什么留到最后读人月神话呢?主要是因为我觉得一本能够流传30年还被人们津津乐道的书,肯定是本学要好好细读的书,所以留到了最后。按照前两篇读书笔记的惯例,前面几段是一些我读书时的感受

X-HILBERT的专栏 1153

MATLAB应用实战系列(四十三)-基于MATLAB的光伏并网系统仿真设计

在Matlab中建立光伏电站接入系统模型,包括光伏发电逆变器及负荷模型等,仿真分析接入点处的电能质量,实现高品质并网运行。 壹 构建太阳能电池模型。 初始化参数如下图所示。 贰 构建MPPT控制模型。 具体封装如下所示: 通过PWM算法实现DC-DC稳步输出最大点。 叁 三、构建直流短距离输电线路。 仿真模型如下图: 通过电容来均衡线路电压,使得线路电压保持可靠性。 肆 通过逆变器变换,使得直流线路转换成...

wenyusuran的专栏 3169

读《人月神话》的一些感受

最近在读《人月神话》,这是一本成书于 1975 年的关于软件工程的书,考虑到计算机领域的飞速发展,这本书真的可以算是计算机历史上洪荒时代的作品了,然而虽然时代久远,但是这本书仍然被无数人推荐必读,可谓畅销数十年。既然如此,作为半路出家的软件开发工程师,我当然要拜读一下了。

阵雨的博客 1296

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

读《人月神话》有感

小brooks的《人月神话》这本书在软件工程管理领域畅销40年,我看的是40周年中文纪念版。相比于原版增加了一些作者根据今天软件工程管理现状添加的一些新的观点与评论,看看哪些过时了,哪些依然有效。另外还附录了一些名人以及读者对本书的评论。整体来说,本书的主线——人月神话、没有银弹在现今的软件工程管理领域依然属于有效的基础理论。但是,其中一些方法论对于国内的软件项目管理的环境是不适应的,对于这些方法论我们可以吸收其思想精髓,改造其具体方法,创造一些中国特色的软件项目管理方法。这是一个很大的话题,我经验尚浅,所

rayylee 555

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

《人月神话》浅读一下吧(上)

焦油坑是作者用来形容大型系统开发的一个概念。史前时代,恐龙、猛犸象、剑齿虎这些大型食肉动物碰到焦油坑也是没有办法挣脱的,而且越用力就越容易被沉入坑底。而在项目中好像没有任何一个单独的问题会导致困难,每个问题都能获得解决,但是当他们相互纠缠和累计在一起的时候,团队的行动就会变得越来越慢。

weixin_47631612的博客 2133

也读《人月神话》:没有银弹的软件工程

一、关于人月神话这本书  记得在上大学的时候,就经常听学长和老师讲起《人月神话》,但是却一直没有阅读。记得当时一听到这个书名,还以为是个神马科幻类别的书,结果是个软件工程...

dotNET跨平台 1095

为什么软件行业仍在重蹈 50 年前的覆辙?读《人月神话》有感

????目录1 《人月神话》的背景2 20 周年纪念版序言3 第 1 章 - 焦油坑4 第 2 章 - 人月神话5第 3 章 - 外科手术队伍6第 4 章 - 贵族专制、民主政治和系统设计7第 5 章 - 画蛇添足8第 6 章 - 贯彻执行9第 7 章 - 为什么巴别塔会失败10第 8 章 - 胸有成竹11第 9 章 - 削足适履12第 10 章 - 提纲挈领13第 11 章 - 未雨...

QcloudCommunity的博客 1537

读《人月神话》

人月神话的英文是 《Man-Month Mythical》,人月其实是软件工程管理工程量的单位,一个人每月的工作量,其实是想说明是使用人月的方式来估算大型项目是不靠谱的,只是一个神话的方式。而作者FrederickP.Brooks,Brooks被认为是“IBM360系统之父”,他担任了360系统的项目经理,以及360操作系统项目设计阶段的经理。凭借在上述项目的杰出贡献,他、Bo...

weixin_30762087的博客 157

【荐读】三读上古遗迹之《人月神话》

##昨夜西风凋碧树。独上高楼,望尽天涯路。 第一次读还是学生的时候,那时候读的很艰难,根本理解不了描述的情况,那时候还是200年,好多人对于这本被好多人奉为圣经的书,没有什么具体的感受,仅仅是感叹软件工程领域真是一个令人费解的、匪夷所思的、充满困惑的世界!!!也确定了自己对于这个世界的向往,那个时候接触的第一门编程语言是HTML。(very interesting) ##衣带渐宽终不悔,为伊消得人憔悴。 第二次读的时候已经在读研快结束的时候,那时候接触了导师带的项目

一只落魄的蜂鸟的博客 1007

杀不死的人狼——我读《人月神话》(二)

===== 二、哪些是现象,哪些是答案,而哪些才是本质? ===== Brooks在1961年至1964年间,主持与领导了被称为人类从原子能时代进入信息时代标志的IBM/360。十余年后,在1975年,他将历年来所写的有关软件工程和项目管理方面的文章汇集成书,这就是《人月神话》。无疑的,《人月神话》是Brooks十年中对IBM/360与操作系统OS360等项目的不断反思的结果。 而在我看到

aimingoo的专栏 8308

杀不死的人狼——我读《人月神话》

在这与这段文字之前,我已经阅读过种种关于《人月神话》的文字。评论者既有刘天北这样的美食家,试图在书页中夹点胡椒面以慢慢品味,为了表现食客特有的风格,他的书页都比别人数得仔细。也有marktsen这样的速食者,试图几句话就打发了自己或者读者那漉漉的饥肠。 阅读这些文字给我带来的收获是:面对《人月神话》,除了表示五体投地的诚服,你既不能做正面言论(那是多余),也不能...

anmishi2025的博客 130

《人月神话》

《人月神话》读书摘要:布鲁克斯揭示了软件工程的经典误区——"人月神话"(人力与时间不能线性互换),并提出布鲁克斯定律(增加人力反而拖慢进度)。核心观点包括:外科手术式团队结构、概念完整性设计、警惕第二系统效应和焦油坑困境。实践建议强调原型验证、任务拆分、文档管理和人才价值。该书颠覆了传统项目管理思维,为敏捷开发等现代方法奠定基础,其"没有银弹"的论断至今仍深刻影响着软件工程实践。

Yang的博客 1740

浅读人月神话(1)

人月神话读书笔记

csdn799316120的博客 368

请保持谦卑!——读《人月神话》有感

小brooks的《人月神话》这本书在软件工程管理领域畅销40年,我看的是40周年中文纪念版。相比于原版增加了一些作者根据今天软件工程管理现状添加的一些新的观点与评论,看看哪些过时了,哪些依然有效。另外还附录了一些名人以及读者对本书的评论。整体来说,本书的主线——人月神话、没有银弹在现今的软件工程管理领域依然属于有效的基础理论。但是,其中一些方法论对于国内的软件项目管理的环境是不适应的,对于这些方...

吴尼玛cs 212
上一篇: web集群服务的负载均衡方案选择与实现
下一篇: (转)C#/VB - Automated WebSpider / WebRobot
halfpro
博客等级 码龄24年 2粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值