第7章 为什么巴比伦塔会失败
来源:互联网 发布:淘宝有2元东西包邮的吗 编辑:程序博客网 时间:2024/05/17 08:40
第7章 为什么巴比伦塔会失败
标签:人月神话
现在整个大地都采用一种语言,只包括为数不多的单词。在一次从东方往西方迁徙的过程中,人们发现了苏美尔地区的一处平原,并在那里定居下来。接着他们奔走相告说:“来,让我们制造砖块,并把它们烧好。”于是,他们用砖块代替石头,用沥青代替灰泥(建造房屋)。然后,他们又说:“来,让我们建造一座带有高塔的城市,这个塔将高达云宵,也将让我们声名远扬;同时,有了这个城市,我们就可以聚居在这里,再也不会分散在广阔的大地上了。”于是上帝决定下来看看人们建造的城市和高塔。看了以后,他说:“他们只是一个种族,使用一种的语言,如果他们一开始就能建造城市和高塔,那以后就没有什么难得倒他们了。来,让我们下去,在他们的语言里制造些混淆,让他们相互之间不能听懂。”这样,上帝把人们分散到世界各地,于是他们不得不停止建造那座城市。
————《创世纪》,11:1——8
- 第7章 为什么巴比伦塔会失败
- 巴比伦塔的管理教训
- 大型编程项目中的交流
- 项目工作手册
- 大型编程项目的组织架构
- 第7章 为什么巴比伦塔会失败
巴比伦塔的管理教训
- 据《创世纪》记载,巴比伦塔是人类继诺亚方舟之后的第二大工程壮举,同时,其也是一个彻底失败的工程。让我们来学习巴比伦塔在管理上的教训。
这个项目有什么好的先决条件?
- 清晰的目标?是的,但目标近乎不可能
- 人力?非常充足
- 材料?丰富的泥土和柏油沥青
- 足够的时间?是的,没有任何时间限制的迹象
- 足够的技术?是的,有成熟的金字塔技术,砖石建筑技术等
他们为什么还会失败?
- 缺乏交流
- 缺乏交流的结果————组织
大型编程项目中的交流
- 现实也是如此,因为左手不知右手在做什么,所以进度缓慢、功能不合理和系统缺陷等问题纷纷出现。随着工作的进行,许多小组慢慢地修改自己程序的功能、规模和速度,他们明确或者隐含地更改了一些有效输入和输出结果用法上的约定。
需要从系统角度来考虑和衡量该变化,以及公开、广泛地发布变更结果
团队如何进行相互之间的交流沟通呢?
- 非正式途径
- 会议。常规项目会议,团队一个接一个进行简要的技术陈述
- 工作手册
项目工作手册
是什么?
它是对项目必须产出的一系列文档进行组织的一种结构。项目所有的文档都必须是该结构的一部分。这包括目的、外观规格说明、接口说明、技术标准、内部说明和管理备忘录。为什么?
技术说明几乎是不可少的。第二个原因是控制信息发布。
项目手册的第一步是对所有的备忘录编号,从而每个工作人员可以通过标题列表来检索是否有他需要的信息。(树状的也许会更好)处理机制?(团队的规模增大以后,该如何处理项目工作手册?)
- 工作手册的实时更新是非常关键的
- 通过不间断的文档维护来解决
- 微缩胶片(或其他工具作为补充)
现在如何入手?
…………
大型编程项目的组织架构
- 团队组织的目的是减少所需的交流和合作的数量,因此良好的团队组织是解决上述问题的关键措施。
- 减少交流的方法是人力划分和限定职责范围。
树状组织架构是作为权力和责任的结构而出现的。交流是通过网状结构进行的。
让我们考虑一下树状编程队伍,以及要使它们行之有效,每棵子树所必须具备的基本要素。它们是:
- 任务(a mission)
- 产品负责人(a producer)
- 技术主管或结构师(a technical director or architect)
- 进度(a schedule)
- 人力的划分(a division of labor)
- 各部分之间的接口定义(interface definitions among the parts)
产品负责人的角色是什么?
他主要的工作是与团队外部进行向上的沟通和水平的沟通。建立团队内部的沟通和报告方式。确保进度目标的实现,根据环境的变化调整资源和团队的架构技术主管的角色是什么?
几乎完全是技术性的。产品负责人和技术主管所拥有的特殊技能可以用不同的方式组合,组合结果控制了和支配了他们之间的关系。团队的搭建必须根据参与的人员来组织,而不是将人员纯粹按照理论进行安排。
存在三种可能的关系,它们都在实践中得到了成功的应用。
- 产品负责人和技术主管是同一个人。(3~6个人的小型队伍中)
- 产品负责人作为总指挥,技术主管充当其左右手。
- 技术主管作为总指挥,产品负责人充当其左右手。
巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个。交流和交流的结果——组织,是成功的关键。交流和组织的技能需要管理者仔细考虑,相关经验的积累和能力的提高同软件技术本身一样重要。
- 第7章 为什么巴比伦塔会失败
- 第七章 为什么巴比伦塔会失败
- 【人月神话】读书笔记第7章 为什么巴比伦塔会失败
- 人月神话读书笔记(7)----为什么巴比伦塔会失败
- 项目感想: 为什么巴比伦塔会失败?
- 《人月神话》-巴比伦塔为什么会失败?
- 《人月神话》笔记:为什么巴比伦塔会失败
- 人月神话之四 贯彻执行、为什么巴比伦塔会失败
- 《人月神话》读书笔记(七)——为什么巴比伦塔会失败?
- 巴比伦塔的失败
- 项目为什么会失败
- 为什么会失败
- 创业为什么会失败?
- 为什么shelve会失败?
- 阅人月神话有感——巴比伦塔的失败
- 优秀公司为什么会失败
- 为什么创业公司会失败?
- 网游创业为什么会失败?
- 集合总结(1)
- CSS思维导图总结一
- 集合总结(2)
- SQL Select
- 利用G oogle实时监控全球摄像头
- 第7章 为什么巴比伦塔会失败
- 几种排序算法的JavaScript实现
- 集合总结(3)
- 控制图形移动
- 泛型程序设计
- 集合细节(1)
- J
- Maven之——Maven 私有库和本地库的安装与配置(Sonatype Nexus + Maven)
- 集合细节(2)