人月神话---观点摘录
<人月神话> 为什么想看这本书呢? 因为以前的公司虽然名气不大, 但是管理流程都挺规范的 , 没有觉察到管理混乱带来的灾难 , 临时到了一家比较有名气的公司 , 但是在开发过程中, 深深感到了管理的混乱 , 流程上的不规范 , 需求上的来回反复 , 所以萌生了想看下正确的流程是什么样的. 于是找到了<人月神话>学习下. 下面是看的时候的观点摘录 , 有的地方,由于资历不够,身处的位置也不是项目经理的位置,所以不太懂, 权且记下了.
1.史前史中,没有别的场景比巨兽们在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。
2.向进度落后的项目中增加人手 , 只会使进度更加落后。
3.1这些研究表面,效率高和效率低的实施者之间的个体差异非常大,经常能够达到数量级的水平。
3.2常常听软件经理说,他们喜欢由一流人才组成的小型,精干的队伍,而不是那些几百人的大型团队
3.3.概念完整性,外科手术式的团队利于维持设计的一致性,维持较低的软件的熵。
10.任何管理任务的关注焦点都是时间,地点,人员,项目内容和资金.
11.1普遍的做法是,选择一种方法,试试看;如果失败了,没关系,在试试别的.不管怎么样,重要的是先去尝试.
11.2我从不建议顾客所有的目标和需求的变更必须,能够,或者应该整合到设计中.项目开始时建立的基准,肯定会随着开发的进行越来越高,甚至开发不出任何产品.
11.3变更的阶段化是一种必要的技术.每个产品都应该有数字版本号,每个版本都应该有自己的日程表和冻结日期,在此之后的变更属于下一个版本的范畴.
11.4对于一个广泛使用的程序,其维护总成本通常是开发成本的40%或更多.令人吃惊的是,改成本受用户数目的影响很大.用户越多,所发现的错误呀也越多.
11.5起初,上一个版本中被发现和修复的bug,在新的版本中仍会发现.新版本中的新功能会产生新的bug.解决这些问题后,程序会正常运行几个月.接着,错误率会重新攀升.
11.6程序维护中的一个基本问题是——缺陷修复总会以固定(20-50%的几率引入新的bug).所以整个过程是前进两步,后退一步.
11.7显然,使用能消除或至少能指明副作用的程序设计方法,会在维护成本上有很大的回报.同样,设计实现的人员越少,接口越少,产生的错误也就越少.
11.8系统软件开发是减少混乱度(减少熵)的过程,所以它本身是出于亚稳态的.软件维护是提高混乱度(增加熵)的过程,即使是最熟练的软件维护工作,也只是放缓了系统退化到非稳态的进程.
13.变更必须被阶段化,并且定期发布.这样,每个用户拥有稳定的生成周期.
14.里程碑的选择只有一个原则,那就是里程碑必须是具体的,特定的,可度量的事件,能够进行清晰定义.要求边界明显,没有歧义.
16.1软件系统的快速原型对重要的系统界面进行模拟,并演示待开发系统的主要功能。同时,原型不必受到相同硬件速度、规模或者成本约束的限制。原型通常展示了应用程序的功能主线,但不处理任何如无效输入、退出清除等异常情况。原型的目的是明确实际的概念结构,使客户可以测试一致性和可用性.
16.2首先系统应该能够运行,即使未完成任何有用功能,只能正确调用一系列伪子系统。接着,系统一点一点被充实,子系统轮流被开发,或者是在更低的层次调用程序、模块、子系统的占位符(伪程序)等。
18.1因为左手不知道右手在做什么,从而进度灾难、功能的不合理和系统缺陷纷纷出现。由于对其他人的各种假设,团队成员之间的理解开始出现偏差。团队应该以尽可能多的方式进行相互之间的交流.
18.2传统的树状组织结构反映了权力的结构原理——不允许双重领导.组织中的交流是网状,而不是树状结构,因此所有的特殊组织机制(往往体现成组织结构图中的虚线部分)都是为了进行调整,以克服树状组织结构中交流缺乏的困难。
18.3除了运行时间以外,程序所占据的内存空间也是主要开销。规模本身不是坏事,但不必要的规模是不可取的。软件开发人员必须设立规模目标,控制规模,发明一些减少规模的方法,减少不必要的规模。
18.4规模预算必须与分配的功能相关联;在指明模块大小的同时,确切定义模块的功能。
在大型团队中,各个小组倾向于不断地局部优化,以满足自己的目标,而较少考虑对用户的整体影响。这种方向性的问题是大型项目的主要危险。
在整个实现的过程期间,系统结构师必须保持持续的警觉,确保连贯的系统完整性。
培养开发人员从系统整体出发、面向用户的态度是软件编程管理人员最重要的职能。
18.5对于软件项目,这些文档是重要的 : 产品目标、用户手册、内部文档、进度、预算、组织机构图和工作空间分配。
18.6项目经理的基本职责是使每个人都向着相同的方向前进。项目管理:包括客户管理、进度管理、成本管理、风险管理和培训管理等;
18.7项目经理的主要日常工作是沟通,而不是做出决定;文档使各项计划和决策在整个团队范围内得到交流。
18.8系统的丢弃和重新设计可以一步完成,也可以一块块地实现。但这是个必须完成的步骤。
18.9开发人员交付的是用户满意程度,而不仅仅是实际的产品。
18.10软件产品易于掌握的特性和不可见性,导致它的构建人员(特别容易)面临着永恒的需求变更。
18.11对于一个广泛使用的程序,其维护总成本通常是开发成本的40%或更多。维护成本受用户数目的严重影响。用户越多,所发现的错误也越多。
18.12Campbell指出了一个显示产品生命期中每月bug数的有趣曲线,它先是下降,然后上升。
18.13缺陷修复总会以20%~50%的几率引入新的bug。同样,实现设计的人员越少、接口越少,产生的错误也就越少。
18.14开发大量的辅助调试平台和测试代码是很值得的,代码量甚至可能会有测试对象的一半。
18.15项目是怎样被延迟了整整—年时间的? 一次一天。一次一天的进度落后比起重大灾难更难以识别,更不容易防范和更加难以弥补。
18.16根据一个严格的进度表来控制大型项目的第一个步骤是制定进度表,进度表由里程碑和日期组成。里程碑必须是具体的、特定的和可度量的事件,能进行清晰地定义。如果里程碑定义得非常明确,以至于无法自欺欺人时,程序员很少会就里程碑的进展弄虚作假(哈哈,现实不是这样的)。
18.17状态的获取是困难的,因为下属经理有充分的理由不提供信息共享。并且,老板的不良反应肯定会对信息的完全公开造成压制;相反,仔细区分状态报告、毫无惊慌地接收报告、决不越俎代庖,将能鼓励诚实的汇报。
19.1定义用户群。用户群越大和越不确定,就越有必要明确地定义用户群,以获得概念完整性。设计队伍中的每个成员对用户都有—幅假想的图像,并且每个设计者的图像都是不同的。结构师的用户图像会有意或者无意地影响每个结构决策,因此有必要使设计队伍共享一幅相同的用户图像。这需要把用户群的属性记录下来,包括:
他们是谁;
他们需要 (need)什么;
他们认为 自己需要(need)什么;
他们想要(want) 的是什么。
19.2当计划进度比最优进度长时,成本曲线会缓慢攀升。时间越充裕,所花的时间也越长;当计划进度比最优进度短时,成本曲线急剧升高;无论安排多少人手,几乎没有任何项目能够在少于3/4的计算出的最优时间内获得成功!
人月神话---观点摘录相关推荐
- 《人月神话》的观点:是与非?
摘录自<人月神话>第18章 第01章 焦油坑 编程系统产品开发的工作量是供个人使用的.独立开发的构件程序的9倍.我估计软件构件产品化引起了3倍的工作量,这些高成本的构件在根本上是相互独立的 ...
- 《人月神话》一句话总结各章核心观点
★[一句话总结各章核心观点] 第1章 焦油坑:提出软件产品现在处于进度和质量焦油坑当中,难以摆脱. 第2章 人月神话:人月估算法是错误的,这会暗示人月可互换,这种方式严重的忽视了一个重要的成本,沟通成 ...
- 没有银弹-读《人月神话》重点摘录
2019独角兽企业重金招聘Python工程师标准>>> 作为软件工程的经典著作,<人月神话>的主要贡献是对软件开发过程的几个重要关键点,提出了独到的见解. ...
- 【读书笔记】《人月神话》的观点:是或非?
<人月神话>最近才有机会看了一遍,之前一直以为是一本技术书籍,看了才知道是管理方面的. 本想自己整理<人月>里面的要点,后来发现,第十八章本身就是对书中大部分观点的总结,那就直 ...
- 人月神话阅读笔记07
第1章 焦油坑 焦油坑的意思说明了即使你足够强大,也无法摆脱束搏而沉到坑底.IT项目也是这样,不论是开发大型软件系统还是小型项目,都会遇到诸多复杂的问题和影响因素,项目本身就是一个足够复杂 ...
- 焦油坑和人月神话--人月笔记1
焦油坑的意思说明了即使你足够强大,也无法摆脱束搏而沉到坑底.感觉用这个比喻来形容软件开发再合适不过了.当软件产品的规模增加的时候,复杂度成倍增长,从而导致这些要素之间不是单纯的线性关系,这是人月神话的 ...
- 《人月神话》---1
早就听说过这本书的大名了.在课上的时候老师就推荐我们去看这本书,这可是软件书中的战斗机,但是很惭愧,一直没有去了解这本书,甚至有时候碰到这本书,只是感觉很熟悉的样子,但是还是不知道到里面说的是啥.有一 ...
- 软件设计的火花——Brooks新作及《人月神话》三十五周年讨论会纪要
应UMLChina之邀,本人于6月20日参加了"Brooks新作及<人月神话>三十五周年讨论会",会上由Brooks的<The Design of Design& ...
- 人月神话阅读笔记01
本书作者作为一个经验丰富的软件项目管理者提供给我们很多发人深省的观点.先从书名"人月神话"开始探讨,人月即早期用来度量软件开发工作量的一个单位.具体为将每个人每月的工作量作为一个基 ...
最新文章
- 卸载阿里云服务器的mysql_阿里云服务器入门教程
- 如果每一种语言都对应一种女生,你会喜欢哪一个?
- 写给即将过去的2012
- 什么?你竟然还没有用这几个chrome插件? 1
- Android系统性能优化(60)---LeakCanary使用详解
- 你绝对想不到,会Linux的程序员,到底有多吃香!
- 大数据分析的优势有哪些特点
- matlab求差分方程的单位响应,实验一:线性卷积和求差分方程的单位样值响应
- 【SQLMap工具-1】SQLMap简介及简单应用实例
- python 转doc为txt
- 《电路》邱关源 思维导图 第三章 电阻电路的一般分析
- DAC904硬件电路
- Java招聘要求摘要
- 点积与叉乘的运算与物理意义
- 深度学习基础之-2.3简单的神经网络(单个输入/多个输入)做线性回归+特征值归一化
- 计蒜客 难题题库 205 图书ISBN号码
- Unity手机震动,Unity -> ios 震动
- 龙芯mips64el 微信客户端 ubuntu 微信客户端
- 杭电oj 1002 C语言解法
- 关于 海思Hi3516横竖屏Qt使用QGraphicsScene代理窗口强制旋转导致弹窗旋转与阴影不显示的 解决方案