随着时代的发展(距离“没有银弹”发布已经过去10年),我们越来越可以关注于纯粹的概念设计了,但是银弹仍不存在,我们仍然应该关注于解决次要问题而非寻找通式 人月神话的是与非 这是对之前部分的总结,如果没有时间通读全书的话,专注看这一章节即可 软件系统可能是人类创造中最复杂的事物 在很长一段时间中,软件工程的...
如今,解决次要的困难已经取得了巨大进步,但根本的困难仍然困扰着人们——这也是作者“没有银弹”论断的来源。(将软件开发比作人狼——简单明了的东西可能变成落后进度、超出预算、存在大量缺陷的怪物,杀死人狼的武器是银弹,但是解决软件开发困难的银弹可能并不存在,因为人们面对的是软件的根本困难。)由于作者所有的讨论都...
因此,人们一直在寻求一枚银弹。 十年来,这个问题一直没有突破,并且认为这种银弹的实质是与软件的内在特性相违背的。 但我们看到了某些方法的规范化、持续化开拓、发展和传播确实可以使生产率数量级提高,虽然没有通天大道,但路就在脚下。 虽然没有巨大的提升,但软件行业每一次微小的发展,都预示着寻找一蹴而就的解决...
文中的「没有银弹」:没有任何技术或管理上的进展, 能够独立地许诺十年内使软件系统项目生产率、 可靠性或简洁性获得数量级上的进步。 1. 现象 软件系统项目中的「焦油坑」:表面上看起来好像没有任何一个单独的问题会导致困难, 每个都能被解决, 但是当它们相互纠缠和累积在一起的时候, 团队的行动就会变得越来越...
为了避免项目延迟和失败,要尽可能地提前集成测试 => 只有尽快集成测试,才能暴露前后端在对于backlog的理解上存在的问题,有没有完成AC(验收条件) 四、“人月神话”为何无法彻底解决? “人月神话”中的一些问题,其根源在于软件工程本身的特性,是无法彻底解决的,这也是广大IT从业人士的共识。其原因归根结底有以下几点...
《人月神话》偏重于授人以理,也许它不能给你提供在开展软件工程中遇到问题的实际解决方案,因为在软件工程领域“没有银弹”(“没有银弹”这个词语,相信很多阅读过软件相关技术书籍的读者经常会遇到,它的出处就是这本书)。但是它告诉你问题出现的本质原因是什么,引导你去思考怎么解决这个问题。软件设计师,总是自诩为...
读《人月神话》也有了一段时间了,现在也理清了一些自己的思路了,这次主要是针对里面的《没有银弹》这一话题,提出自己的看法。 我认为,在现有的所有体系中,都没有所谓的“银弹”,“银弹”只是人们想拥有一个一劳永逸的解决办法而针对一个具体事件想出来的临时的可行的某一个措施,它的效用时间是有限的,并且解决方...
接下来整理的一个章节内容比较多,我将会分成两次来整理我的学习笔记。这个章节的名字叫做没有银弹,后面来看看这个题目大概的由来。 其实,银弹是来自于人狼故事传说的。人狼是非常可怕的,可以变换成各种可怕的怪物。但是,银弹是人狼的克星。我们软件开发中也会遇到各种各样的问题,如同一个个怪物,是否我们也能够找到一...
AI会是那个银弹吗? 理解了造成大型软件开发效率低下的原因,我们就能为之找到可能的解决之道。虽然Brooks在40年前的文章中已经探讨了人工智能成为银弹的可能性,这个是非常超前的想法,然而Brooks可能没有预见到AI这40年的发展,特别是生成式AI的chatGPT的横空出世,给AI辅助软件开发提供了广阔的想象空间。 为了简化开发系...
十六. 没有银弹-软件工程中的根本和次要问题 这一章节主要是描述了软件研发的复杂特性。 个人认为以下的这句话高度概括了软件开发的两个方面: 所有软件活动包括:根本任务,即打造成抽象软件实体的复杂概念结构;次要任务,即使用编程语言表达这些抽象实体,在空间和时间限制下将它们映射成机器语言。