第五周阅读笔记|人月神话————胸有成竹(Calling the Shot)
这个章节标题是胸有成竹,而要做到胸有成竹就必须在项目计划阶段我们对项目的预测和估算都需要很准确。因此整个章节的内容就是在讲估算,而估算就涉及到预测和估算模型,估算要做到准确必须通过前期多个历史项目和版本的积累,同时通过历史版本和数据的积累来发现预测指标Y和相应的估算因子X之间的关系。这样建立出来的估算模型就可以提供我们的估算准确性。
最早用的估算方法是建立需求->设计->编码->测试各个阶段工作量之间的比例关系,然后根据需求的工作量来推导其它各个阶段的工作量或者是根据编码工作量来反推上游各个阶段的工作量。这种方式在项目规模比较稳定的小型项目中是比较适用的,但是它不能简单的类别应用到大型软件项目,因为随着项目规模的扩大,规模和工作量之间已经不是简单的线性关系了。
根据Nanus和Morin和研究重要结论是工作量和规模之间是指数关系,虽然软件产品规模的扩大工作量成倍增加。工作量 = (常数)×(指令的数量)~1.5
Portman的数据表明,对于研发人员每天8小时工作制的情况下我们能够有效利用的全经理投入时间在5-6小时甚至更底。因此我们在做估算的时候必须要考虑到开发人员每天的有效工作量的问题。
Corbato 的数字是行/人年,不是指令!系统中的每个语句对应于手写代码的 3 至 5个指令!这意味着两个重要的结论。
1,对常用编程语句而言。生产率似乎是固定的。这个固定的生产率包括了编程中需要注释,并可能存在错误的情况.
2,使用适当的高级语言,编程的生产率可以提高 5 倍。
第五周阅读笔记|人月神话————胸有成竹(Calling the Shot)的更多相关文章
- IT项目管理——《人月神话》读后感
这也许是和候红老师的最后的几节课了吧,侯老师是一个很有思想深度,很关心同学的好老师. 一开学就布置了阅读<人月神话>的作业,说实话,我没有看,以我的速度可能2.3个小时就看完了,但是我觉得 ...
- 读书笔记第三周 人月神话 刘鼎乾 PB16070837
读书笔记第三周:人月神话 这本书主要讲述了如何管理一个软件开发团队的问题,其中如何提高团队的效率可以说是本书的重点之一了.感觉这本书地中文版翻译得比较晦涩,很多表达比较模糊,看起来有些吃力,因此下 ...
- 《人月神话》读书笔记 PB16110698 第七周(~4.19)
每逢读书笔记上交作业时刻,班级blog页面上总能看到<人月神话>相关的读书笔记,本次软工课邓老师推荐的第一篇读书笔记也是写的<人月神话>,算是对它“耳濡目染”了.本周,我终于抽 ...
- 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?
写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...
- <<人月神话>>阅读体会(一)
第一次听说人月神话还是在大一上学期的导论课那会儿,那会儿好像就已经确定了自己要学软件,于是就去问王建民老师能不能给我推荐几本软件工程方面的书,我想要提前自己学学,以为老师会给我推荐一些某种语言类的学习 ...
- 《The Mythical Man-Month(人月神话)》读后感(2)
第10章 未雨绸缪 在化学领域中,在实验室可以进行的反应过程,并不能在工厂中一步实现.一个被称为“ 实验性工厂(pilot planet)”的中间步骤是非常必要的,它会为提高产量和在缺乏保护的环境下运 ...
- 《The Mythical Man-Month(人月神话)》读后感(1)
临近考试周,这里我通过平时阅读的<人月神话>十九个章节和知乎.简书等网页中网友们对<人月神话>的读后感,对书中各个章节进行简单的总结,以下均为个人手打观点的思考与整合,仅供大家 ...
- 软件项目发展历史<人月神话>这本书好
几乎是计算机软件开发的发展历史 人月神话,增加人手并不一定能提高开发速度. 原因在于,有些任务是无法分解的,存在先后顺序.无法同步进行. 增加人手,增加的是沟通成本,相互牵制.可以分解的任务就 ...
- Java课程寒假之《人月神话》有感之一
一.焦油坑 以前上课的时候,老师讲过早期的程序由于工作量不大,大多只需要几个人完成,随着软件规模的不断扩大,代码量直线上升,仅仅一两个人可能没有办法完成这样的任务,多以开始形成了团队的规模,焦油坑说的 ...
- 《Linux内核分析》第五周学习笔记
<Linux内核分析>第五周学习笔记 扒开系统调用的三层皮(下) 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.c ...
随机推荐
- ArrayList底层原理、线程安全及其相关集合(面试常问)
一.ArrayList底层原理 1.特点及其原理:ArrayList底层基于数组实现,查找快,增删慢 2.ArrayList底层原理,初始化及调用add()方法添加元素: 默认初始化容量为10 第一次 ...
- Python生成30万条Excel 测试数据
使用Python生成30万条Excel 测试数据 from openpyxl import Workbook from concurrent.futures import ThreadPoolExec ...
- mybatis系列: 简介以及使用
目录 一.简介 二.简单使用 一.简介 MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD. MyBatis在三层架构中负责持久层的,属于持久层框架. MyBatis的发展历程: ...
- 移动优先与响应式Web设计
1.加速度计-设备置向 2.下拉更新-Iscroll 3.滑动以得到更多选项-panel 4.Sketch a Search 雅虎 画圈搜索 5.<Tapeworthy> 移动用户的行为特 ...
- 6、Mybatis之高级查询
6.1.创建接口.映射文件和测试类 ++++++++++++++++++++++++++分割线++++++++++++++++++++++++++ 注意namespace属性值为对应接口的全限定类名 ...
- MySQL 1130错误原因及解决方案
错误:ERROR 1130: Host 'http://xxx.xxx.xxx.xxx' is not allowed to connect to thisMySQL serve 错误1130:主机x ...
- [ABC305D] Sleep Log题解
题目大意 给 \(N\) 个时刻: 当 \(i\) 为奇数时,\(A_i\) 表示刚刚起床的时刻. 当 \(i\) 为偶数时,\(A_i\) 表示开始睡觉的时刻. 有 \(Q\) 次询问,每次求在 \ ...
- 详情讲解canvas实现电子签名
签名的实现功能 我们要实现签名: 1.我们首先要鼠标按下,移动,抬起.经过这三个步骤. 我们可以实现一笔或者连笔. 按下的时候我们需要移动画笔,可以使用 moveTo 来移动画笔. e.pageX,e ...
- Codeforces 1462F The Treasure of The Segments
题意 给\(n(1\leq n\leq 2*10^5)\)个线段$[l_i,r_i] (1≤l_i≤r_i≤10^9) $,问最少删除几个线段,使得剩下线段中,有至少一个线段与所有线段相交. 分析 对 ...
- WebStrom提交代码到GitLab报错Error: Cannot find any-observable implementation nor global.Observable.
项目场景: 前端代码完成后,提交代码 问题描述 提交代码到GitLab时,因自动检测机制导致项目提交失败 C:\D\insper\inspur_works\custom-manage-front\no ...