人月神话-读书笔记

来源:互联网 发布:软件借贷不还会怎么样 编辑:程序博客网 时间:2024/05/17 01:17

来自个人百度空间的文章---2013.11.24

1、编程方法

    1/3设计 1/6编码 1/4构件测试 1/4系统测试

    模块和接口一定清晰可见

    分清有多少入口逐一检查

2、管理方法

    人!=时间

    质量==生产效率


3、专业语言

    乐观主义是职业病

    程序员分:学习的(熟悉阶段),能做的(能把东西做出来),能用的(做的东西能用且BUG少),系统架构(能提出概念模型的)

    培养开发人员从系统整体出发、面向用户的态度是软件编程管理人员最重要的职能。

    所有修改都倾向于破坏系统的架构,增加了系统的混乱程度。即使是最熟练的软件维护工作,也只是放缓了系统退化到不可修复混乱的进程,从中必须要重新进行设计。

    每个老板同时需要采取行动的异常信息以及用来进行分析和早期预警的状态数据。

    软件工程的焦油坑在将来很长一段时间内会继续地使人们举步维艰,无法自拔。

    编程是个开放性的公共过程”。把所有工作都暴露在每个人的凝视之下,能够帮助质量控制,这既源于其他人优秀工作的压力,也由于同伴能直接发现缺陷和bug。

    《人月神话》的结论,即人力(人)和时间(月)之间的平衡远不是线性关系,使用人月作为生产率的衡量标准实际是一个神话。

    人要在合适的岗位上,若不在则会陷入形式工作的境地了

    向进度落后的项目中添加人手总会增加项目的成本,但并不一定会使项目更加落后。

    对软件管理动态特征——对人的关注、激励、培养——的持续研究。

    管理人员的职责不是要人们去工作,而是是创造工作的可能。

    管理人员需要将管理方法先使用在自己身上,如果有用则可以拿去用,要么就别用,己所不欲,勿施于人。

    这个复杂的行业需要:进行持续的发展;学习使用更大的要素来开发;新工具的最佳使用;经论证的管理方法的最佳应用;良好判断的自由发挥;以及能够使我们认识到自己不足和容易犯错的——上帝所赐予的谦卑。


4、编程的乐趣

    创造的过程,不重复的过程,工作介质是如此易于驾驭,开发对其他人有用东西的乐趣

5、编程的痛苦

    越是收尾越是难以收尾,必须完美,产品总是面临着陈旧过时的危险

6、向进度落后的项目中增加人手,只会使进度更加落后。

7、向软件项目中增派人手从三个方面增加了项目必要的总体工作量:任务重新分配本身和所造成的工作中断;培训新人员;额外的相互沟通。

8、同样有两年经验而且在受到同样的培训的情况下,优秀的专业程序员的工作效率是较差程序员的十倍。(Sackman、Erikson和Grand)

9、两个人的团队,其中一个项目经理,常常是最佳的人员使用方法。[留意一下上帝对婚姻的设计。]

10、一位首席程序员、类似于外科手术队伍的团队架构提供了一种方法——既能获得由少数头脑产生的产品完整性,又能得到多位协助人员的总体生产率,还彻底地减少了沟通的工作量。

11、 项目经理的基本职责是使每个人都向着相同的方向前进。

12、 项目经理的主要日常工作是沟通,而不是做出决定;文档使各项计划和决策在整个团队范围内得到交流。

13、组建外科手术队伍式的软件开发团队是对上述问题所有方面的彻底冲击。对于灵活组织架构问题,这的确是一个长期行之有效的解决方案。

14、缺陷修复总会以(20-50)%的机率引入新的bug。

0 0
原创粉丝点击