本书作者作为一个经验丰富的软件项目管理者提供给我们很多发人深省的观点。先从书名“人月神话”开始探讨,人月即早期用来度量软件开发工作量的一个单位。具体为将每个人每月的工作量作为一个基本单位。用人月的量来衡量整个项目的规模与工作量。并且早期认为人月的模式简单符合线性关系。即:10人*月的项目等价于5人*2月等价于1人*10月。但是这种看似简单完美的模型却是一个美丽的神话,人员和时间是不能简单替代的。

软件项目的进展并不能用简单的线性关系抽象。软件开发不是一项简单重复的体力劳动。设想如果一个人要扫雪,假设他一个人需要一个小时扫完,但是如果他再找来5个人一起扫,可能只需要十分钟。软件开发比这要复杂的多;如果一个人用十天能做完的一个项目,他做到第五天后想找人来一起做,这就不是找五个人一天就能做完的事情。也许完成项目花费的时间比十天还要多。他要花时间为新加入的队员介绍项目,为他们合理分工,如果有一人没按时完成,所有人都要停下等待……由此引出一系列不可预估的问题。复杂度大大提高。总之:从项目的人数和时间两个维度考虑,都不能以人月作为软件开发度量:1.人数的增加对软件开发的贡献不是线性增长的(队友之间有协作交流的问题)。2每个人在项目开发中的工作量也不是线性递增的(开发的过程中复杂度提高)。他们可能会是log(o)或更复杂的情况。总之,在软件开发中,合理评估参与人数和时间是一项很有挑战并且需要经验性的工作。同时,应该尽量减少或避免人员的改动。

转载于:https://www.cnblogs.com/xuzhaoyang/p/8184482.html

人月神话阅读笔记01相关推荐

  1. 人月神话贯彻执行_人月神话阅读笔记01

    本篇是人月神话阅读笔记的第一篇. 1-8章 1.焦油坑 焦油坑的意思说明了即使你足够强大,也无法摆脱束搏而沉到坑底. 可供大部分人使用的软件开发起来可不是一件简单的事情 乐趣与苦恼是这个行业避不开的话 ...

  2. 人月神话阅读笔记 03

    形式化定义仅仅用于外部功能,说明它们是什么. "今天,我比以往更加确信.概念完整性是产品质量的核心.拥有一位结构式是迈向概念完整性的最重要一步.这个原理不仅限于软件系统,它适用于所有的复杂事 ...

  3. 人月神话阅读笔记(二)

    今天对人月神话的正文部分进行了阅读,从人月神话这一部分中了解到缺乏合理的时间进度控制是造成滞后的主要原因,比其他任何事情影响的和还大,书中也对造成这种这种普遍灾难的原因进行了并进行了详细列举. 首先, ...

  4. 1483_人月神话阅读笔记_外科手术队伍

    全部学习汇总: GreyZhang/The_Mythical_Man_Month: My reading notes of The Mythical Man-Month. (github.com) 继 ...

  5. 人月神话阅读笔记07

    第1章 焦油坑       焦油坑的意思说明了即使你足够强大,也无法摆脱束搏而沉到坑底.IT项目也是这样,不论是开发大型软件系统还是小型项目,都会遇到诸多复杂的问题和影响因素,项目本身就是一个足够复杂 ...

  6. 05人月神话阅读笔记

    人月神话这本书中主要在项目管理方面开刀的项目估算,组织结构和人员角色安排,团队建设和沟通,历史数据积累和建模,软件开发的方法论,风险和问题管理等相关的内容:在软件工程方面可以看到构架设计保证概念完整性 ...

  7. 1480_人月神话阅读笔记_开篇

    全部信息汇总: GreyZhang/The_Mythical_Man_Month: My reading notes of The Mythical Man-Month. (github.com)e ...

  8. 1514_人月神话阅读笔记_20年后的人月神话_上篇

    全部学习汇总: GreyZhang/The_Mythical_Man_Month: My reading notes of The Mythical Man-Month. (github.com) 这 ...

  9. 1481_人月神话阅读笔记_焦油坑

    全部学习汇总: GreyZhang/The_Mythical_Man_Month: My reading notes of The Mythical Man-Month. (github.com) 有 ...

最新文章

  1. C#之IComparable用法,实现ListT.sort()排序
  2. 梦想还是要有的,万一实现了呢
  3. 海外召回1700辆,奔驰首款电动汽车要在中国上市了
  4. 为Go编译的Windows程序加入资源文件
  5. spring mysql防注入攻击_【spring】(填坑)sql注入攻击 - 持久层参数化
  6. java调用js模板引擎_JavaScript模板引擎应用场景及实现原理详解
  7. 数据同步一致性_微服务架构:利用事件驱动实现最终一致性
  8. ubuntu14.04 安装adb 调试设备
  9. android 单独编译contacts,Android编译全过程
  10. php弹窗拨打电话,调用系统的拨打电话,不弹框或多次出现弹框问题
  11. 主板声卡坏了会不会有电流声_选择声卡讲究多 不同领域适使用不同类型
  12. NIOS_Altera EPCS下载 注意事项20210815
  13. IOS 四舍五入 进一法 去尾法
  14. 弧度制和角度制的换算
  15. iphone手机视频通讯开发环境搭建
  16. 旅行商问题 Traveling Salesman Problem(TSP)
  17. [0893]《兽医外科学》
  18. ArcGIS工具 - 批量删除空图层
  19. navigationBar 标题字体颜色设置
  20. 从电商平台到新经济体 阿里如何创造36810000个工作岗位?

热门文章

  1. consul的安装配置 一centos7环境
  2. 如何在字符串中添加双引号?
  3. 大蚂蚁在64位系统下,右键没有快发的解决方案
  4. java接口的作用是什么?
  5. 买无线路由还是买无线AP?
  6. 网络连接的netstat命令
  7. Android 中的adapter和作用以及常见的adapter
  8. Docker+Nextcloud快速部署个人网盘
  9. 浙大1002Fire Net心得
  10. 《Docker:容器与容器云》.pdf