读书笔记第三周:人月神话
  这本书主要讲述了如何管理一个软件开发团队的问题,其中如何提高团队的效率可以说是本书的重点之一了。感觉这本书地中文版翻译得比较晦涩,很多表达比较模糊,看起来有些吃力,因此下周我可能会考虑借一下英文原版来看。本周的话我看了前两章,我觉得重要的收获有四点
  第一,作者与我们交流了一名码农的职业的乐趣,编程是可以创建事物的,而这有着纯粹的快乐,如同小孩子玩泥巴一样。其次,编程可以造出对他人有用的东西,这也是人的一种自我实现,实现自我的社会价值。同时,编程的精妙,将各种复杂的零件组合在一起,最终达到预期效果,给人一种成就感。最后,编程这项工作也要求我们终身学习,对我们个人的成长也是很有利的。
  但是,编程这项职业也有很多苦恼:首当其冲的就是要把做事方式变为追求完美,因为代码中的一点小错,就会导致程序不可用。这也是我现在不太想从事码农工作的重要原因,因为我生来就是一个大大咧咧的人。同样是因为bug,编程人员需要花比编写代码更多的时间来调试,这点我深有感触。上学期数据结构大作业,写出来不麻烦,debug才麻烦。对于系统编程人员来说,还得看手册,这其实也挺痛苦的,尤其是这些他人的程序设计的不合理,表现拙劣,还得自己去研究和修改。
 本书的第二章,也就是人月神话这章,则给我带来另外两个收获:
  第三个收获:在估计和进度安排中,使用人月为工作单位是一种逻辑谬误。这个谬误隐藏了一个前提:那就是任务是可以分解的。事实上,对于无法分解的任务,增加人数是没有用的。而对于可以分解,但是需要沟通和交流的任务来说得任务,必须再计划工作中考虑沟通的工作量。这点可以说是刷新了我的认知,以前参加社团活动的时候,一直以为人多力量大。因为人不多的话活动办不起来。但现在想想,人过多也是个问题。  
    

最后一个收获,大概就是我们软件工程的小组玩制定合理的计划。不能过于乐观主义,要正式我们能力的有限,以及可能出现的问题。因为一个小问题可能不起眼,但很多问题交织在一起,复杂度指数上升,最终会导致整个团队陷入焦油坑中。

读书笔记第三周 人月神话 刘鼎乾 PB16070837的更多相关文章

  1. Linux内核读书笔记第三周 调试

    内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态. 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态. 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来 ...

  2. 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?

    写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...

  3. 《人月神话》读书笔记 PB16110698 第七周(~4.19)

    每逢读书笔记上交作业时刻,班级blog页面上总能看到<人月神话>相关的读书笔记,本次软工课邓老师推荐的第一篇读书笔记也是写的<人月神话>,算是对它“耳濡目染”了.本周,我终于抽 ...

  4. 《Linux内核设计与分析》第六周读书笔记——第三章

    <Linux内核设计与实现>第六周读书笔记——第三章 20135301张忻估算学习时间:共2.5小时读书:2.0代码:0作业:0博客:0.5实际学习时间:共3.0小时读书:2.0代码:0作 ...

  5. IT项目管理——《人月神话》读后感

    这也许是和候红老师的最后的几节课了吧,侯老师是一个很有思想深度,很关心同学的好老师. 一开学就布置了阅读<人月神话>的作业,说实话,我没有看,以我的速度可能2.3个小时就看完了,但是我觉得 ...

  6. 《The Mythical Man-Month(人月神话)》读后感(2)

    第10章 未雨绸缪 在化学领域中,在实验室可以进行的反应过程,并不能在工厂中一步实现.一个被称为“ 实验性工厂(pilot planet)”的中间步骤是非常必要的,它会为提高产量和在缺乏保护的环境下运 ...

  7. 《The Mythical Man-Month(人月神话)》读后感(1)

    临近考试周,这里我通过平时阅读的<人月神话>十九个章节和知乎.简书等网页中网友们对<人月神话>的读后感,对书中各个章节进行简单的总结,以下均为个人手打观点的思考与整合,仅供大家 ...

  8. <<人月神话>>阅读体会(一)

    第一次听说人月神话还是在大一上学期的导论课那会儿,那会儿好像就已经确定了自己要学软件,于是就去问王建民老师能不能给我推荐几本软件工程方面的书,我想要提前自己学学,以为老师会给我推荐一些某种语言类的学习 ...

  9. 软件项目发展历史<人月神话>这本书好

    几乎是计算机软件开发的发展历史     人月神话,增加人手并不一定能提高开发速度. 原因在于,有些任务是无法分解的,存在先后顺序.无法同步进行. 增加人手,增加的是沟通成本,相互牵制.可以分解的任务就 ...

随机推荐

  1. 使用QT的一些小Tipster

    1.在使用Qt Creator编程时,难免会用到将float类型转换为QString类型的方法:原文 1.1. 将QString类型转化为float类型,很简单 QString data;       ...

  2. OpenSessionInViewFilter浅谈

    本篇文章转载自--OpenSessionInViewFilter的配置及作用 spring为我们解决hibernate的Session的关闭与开启问题. Hibernate 允许对关联对象.属性进行延 ...

  3. js 获取 下拉框的值

    //错误 console.log($("#DictID").select.val()); //错误 console.log($("#DictID").selec ...

  4. Vue2:实例生命周期、js生命周期

    1.vue2生命周期 每个 Vue 实例在被创建之前都要经过一系列的初始化过程.例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM ...

  5. jquery里面控制显示和隐藏 ___土狗toggle

    $("#hide").click(function(){ $("p").hide(); }); $("#show").click(funct ...

  6. C++进阶 STL(1) 第一天 [容器,算法,迭代器] string容器 vector容器 deque容器

    课程大纲 02实现基本原理 容器,算法,迭代器 教室:容器 人:元素 教室对于楼:容器 序列式容器: 容器元素在容器中的位置是由进入容器的时间和地点来决定 序列式容器 关联式容器: 教室中 按年龄排座 ...

  7. Bash 如何取得当前正在执行的脚本的绝对路径?

    转自:http://blogread.cn/it/article/6549?f=wb Bash 如何取得当前正在执行的脚本的绝对路径? 如题,一般我们写Shell脚本的时候,都倾向使用绝对路径,这样无 ...

  8. VS2008集成QT的OpenGL开发(实现二维图形的旋转)

    主要是利用Qt中的定时器实现了二维图形的旋转功能: #ifndef QGLTEST_H #define QGLTEST_H #include <QGLWidget> #include &l ...

  9. django rest-farme-work 的使用(1)

    Django REST框架是一个用于构建Web API的强大且灵活的工具包 您可能想要使用REST框架的一些原因: 可浏览性 身份认证 支持ORM和非ORM的序列化 良好的文档支持 安装初步 pip ...

  10. 如何指定GCC的默认头文件路径

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:)原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631============ ...