人月神话读书笔记(7)----为什么巴比伦塔会失败

来源:互联网 发布:软件游戏园 编辑:程序博客网 时间:2024/06/10 06:50

为什么巴比伦塔会失败


在基督教传说中,人类发现可用砖和沥青代替天然的石块和灰泥来建筑房屋后,便打算建筑一座通往天堂的巴比伦塔,巴比伦塔工程恢宏壮丽,工地欣欣向荣,确有直指云霄之势。当时人类联合起来兴建希望能通往天堂的高塔;为了阻止人类的计划,上帝让人类说不同的语言,使人类相互之间不能沟通,计划因此失败,人类自此各散东西。在软件开发中,也许现有的技术已经可以所向披靡,但是如果整个团队不能进行良好有效的沟通,项目很可能功败垂成。

巴比伦塔的管理教训

  1. 缺乏交流
  2. 缺乏交流的结果——组织
  3. 无法交谈,从而无法合作。无法合作工作陷入停顿;

大型编程项目中的交流

  1. 因为左手不知道右手在做什么,从而进度灾难、功能的不合理和系统缺陷纷纷出现。由于存在对其他人的各种假设,团队成员之间的理解开始偏差
  2. 团队应以尽可能多的方式进行相互之间的交流:非正式途径会议(简要技术陈述)工作手册

项目工作手册

  1. 项目工作手册不是一篇独立的文档,它是对项目必须产出的一系列文档进行组织的一种结构。项目所有的文档都必须是该结构的一部分
  2. 每一个编程人员应该了解所有的材料;
  3. 工作手册的实时更新是非常关键的。工作手册必须是最新的;
  4. 编程人员仅了解自己负责的部分,而不是整个系统的开发细节时,工作效率最高。但先决条件是精确、完整地定义所有接口

大型编程项目的组织架构

  1. 团队组织的目的是减少所需的交流和合作的数量,因此良好的团队组织是解决上述交流问题的关键措施;
  2. 减小交流的方法是人力划分限定职责范围
  3. 树状组织架构是作为权力和责任的结构出现的。其基本原理——管理角色的非重复性
  4. 组织中的交流是网状,而不是树状,因此所有的特殊组织机制都是为了进行调整,以克服状组织结构中交流缺乏的困难;
  5. 产品负责人的角色:组建团队,划分工作及制定进度表。争取并保证必要的资源(与团队外部进行向上的沟通和水平的沟通)。他确保进度目标的实现,根据环境的变化调整资源和团队的构架;
  6. 技术主管的角色:对设计进行构思,识别系统的子部分,指明外部的样子,勾画内部结构。提供整个设计的一致性和概念完整性,控制系统的复杂度并提供问题的解决方案;
  7. 产品负责人和技术主管是同一人,非常容易在小型队伍中应用,在大型项目中则不容易获得应用,原因有两个:
    • 具备两种技能的人很难找。思考者很少,实干家更少;
    • 大型项目中,每个角色都必须全职工作,甚至还要加班;
  8. 产品负责人作为总指挥,技术主管充当其左右手。产品负责人必须预先声明技术主管的技术权威,必须支持后者的技术决定。在基本的技术理论上具有相似的观点,必须在主要的技术问题出现之前,先私下讨论这些问题;
  9. 技术主管作为总指挥,产品负责人充当其左右手。该安排是对小型团队的最好的选择。对于真正大型项目中的一些开发队伍,产品负责人作为管理者是更合适的安排;
  10. 交流和交流的结果——组织,是成功的关键。交流和组织的技能需要管理者仔细考虑,相关经验的积累和能力的提高同软件技术本身一样重要
0 0
原创粉丝点击