《人月神话》阅读笔记

在地铁上看的,零散不系统的笔记

 

1.巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个。交流和交流的结果-组织,是成功的关键。交流和组织的技能需要管理者仔细考虑,相关经验的积累和提高同软件技术本身一样重要。

 

2.减少交流的方法是人力划分(division of labor)和限定职责范围(specialization of function)。当使用人力划分和职责限定时,树状管理结构所映出对详细交流的需要会相应减少。

 

3.事实上,树状组织架构是作为权力和责任的结构出现。其基本原理--管理角色的非重复性--导致了管理结构是树状的。但是交流的结构,未限制得如此严格,树状结构几乎不能用来描述交流沟通,因为交流是通过网状结构进行的。

 

4.每棵子树所必须具有的基本要素。它们是:

1).任务(a mission)

2).产品负责人(a producer)

3).技术主管和架构师(a technical director or architect)

4).进度(a schedule)

5).人力的划分(a division of labor)

6).各部分之间的接口定义(interface definitions among the parts)

 

5.产品负责人的角色是什么?他组建团队,划分工作及制定进度表。他要求,并一直要求必要的资源。这意味着他主要的工作是与团队外部,向上和水平地沟通。他建立团队内部的沟通和报告方式。最后,他确保进度目标的实现。根据环境的变化调整资源和团队的架构。

 

6.那么技术负责人的角色是什么?他对设计进行构思,识别系统的子部分,指明从外部看上去的样子,勾画它的内部结构。他提供整个设计的一致性和概念完整性;他控制系统的复杂程度。当某个技术问题出现时,他提供问题的解决方案,或者根据需要调整系统设计。

 

7.程序维护中的一个基本问题是--缺陷修复总会以(20-50)%的机率引入新的bug。所以整个过程是前进两步,后退一步。

 

8.系统软件开发是减少混乱度(减少熵)的过程,所以它本身是处于亚稳态的。软件维护是提高混乱度(增加熵)的过程,即使是最熟练的软件维护工作,也只是放缓了系统退化到非稳态的过程。

 

to be continued...

posted @ 2015-08-04 09:33  onemuji  阅读(637)  评论(4编辑  收藏  举报