• 大型项目中的交流
      • 因为交流的问题,随着工作的进行,许多小组慢慢地修改自己程序的功能、规模 和速度,他们明确或者隐含地更改了一些有效输入和输出结果用法上的约定。
      • 团队如何进行相互之间的交流沟通呢?
        • 非正式途径:清晰定义小组内部的相互关系和充分利用电话,能鼓励大量的电话沟通,从而达到对 所书写文档的共同理解。
        • 会议:常规项目会议。会议中,团队一个接一个地进行简要的技术陈述。这种方式非常有用, 能澄清成百上千的细小误解。
        • 工作手册:在项目的开始阶段,应该准备正式的项目工作手册。
    • 项目工作手册
      • 项目工作手册不是独立的一篇文档,它是对项目必须产出的一系列文档进行 组织的一种结构。
      • 事先将项目工作手册设计好,能保证文档的结构本身是规范的。有了文档结构,后来书写的文字就可以放置在合适的章节中。 控制信息发布并不是为了限制信息,而是确保信息能到达所有需要它的人的手中。项目手册的第一步是对所有的备忘录编号,还有一种更好的组织方法,就是使用树状的索引结构,可以使用树结构中的子树来维护发布列表。
      • 人员无可避免地散布在多个地点,对结 构化工作手册的需要和手册规模上的要求都紧迫了许多。
    • 大型项目的组织架构
      • 如果项目有n 个工作人员,则有(n 2 - n )/ 2 个相互交流的接口,有将近2 n 个必须合 作的潜在团队。团队组织的目的是减少不必要交流和合作的数量,因此良好的团队组织是解 决上述交流问题的关键措施。
      • 减少交流的方法是人力划分和限定职责范围。
        • 当使用人力划分和职责限定时,树状管理结构所映出对详细交流的需要会相 应减少。管理角色的非 重复性——导致了管理结构是树状的。但是交流的结构并未限制得如此严格,树状结构几乎 不能用来描述交流沟通,因为交流是通过网状结构进行的。
      • 任务、产品负责人、技术主管和结构师、进度、人力的划分、各部分间接口的定义
        • 产品负责人:他组建团队,划分工作及制订进度表。他要求,并一直要 求必要的资源。这意味着他主要的工作是与团队外部,向上和水平地沟通。他建立团队内部 的沟通和报告方式。最后,他确保进度目标的实现,根据环境的变化调整资源和团队的构架。
        • 技术主管:他对设计进行构思,识别系统的子部分,指明从外部看 上去的样子,勾画它的内部结构。他提供整个设计的一致性和概念完整性;他控制系统的复 杂程度。当某个技术问题出现时,他提供问题的解决方案,或者根据需要调整系统设计。
      • 存在三种可能的关系
        • 产品负责人和技术主管是同一个人。
          • 这种方式非常容易应用在很小型的队伍中,可能 是三个或六个开发人员。在大型的项目中则不容易得到应用。原因有两个:第一,同时具有 管理技能和技术技能的人很难找到。思考者很少,实干家更少,思考者-实干家太少了。第二,大型项目中,每个角色都必须全职工作,甚至还要加班。对负责人来说,很难
            在承担全部管理责任的同时,还能抽出时间进行技术工作。对技术主管来说,很难在保证设
            计的概念完整性,没有任何妥协的前提下,担任管理工作。
        • 产品负责人作为总指挥,技术主管充当其左右手。
          • 很难在技术 主管不参与任何管理工作的同时,建立在技术决策上的权威。
        • 技术主管作为总指挥,产品负责人充当其左右手。
          • 这种安排同样能使工作非常有效
      • 最后一种安排对小型的团队是最好的选择,对于真正大型项目中的一些开发队伍,我认为产品负责人作为管理者是更合适的 安排。
      • 交流和交流的结果— —组织,是成功的关键。交流和组织的技能需要管理者仔细考虑,相关经验的积累和能力的 提高同软件技术本身一样重要。


blog comments powered by Disqus

Published

11 March 2013

Tags