`
softstone
  • 浏览: 480792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

如何组织软件开发团队

阅读更多

如何组织软件开发团队

Scott W. Ambler(本文来自IBM DeveloperWorks中国网站)
(本文转载自软件工业专家网www.21cmm.com

  如何构建软件开发团队取决于可供选择的人员、项目的需求以及组织的需求。本文阐述了各种团队组织的策略。
有效的软件项目团队由担当各种角色的人员所组成。每位成员扮演一个或多个角色;可能一个人专门负责项目管理,而另一些人则积极地参与系统的设计与实现。常见的一些项目角色包括:
  · 分析师
  · 策划师
  · 数据库管理员
  · 设计师
  · 操作/支持工程师
  · 程序员
  · 项目经理
  · 项目赞助者
  · 质量保证工程师
  · 需求分析师
  · 主题专家(用户)
  · 测试人员

  您是如何组织项目团队的?是采用垂直方案、水平方案还是混合方案?以垂直方案组织的团队由多面手组成,每个成员都充当多重角色。以水平方案组织的团队由专家组成,每个成员充当一到两个角色。以混合方案组织的团队既包括多面手,又包括专家。

  一个重要的考虑因素是可供选择的人员的性质。如果大多数人员是多面手,则您往往需要采用垂直方案,同样,如果大多数人员是专家,则采用水平方案。如果您正引入一些新人,即使这些人员都是合同工,则仍然需要优先考虑您的项目和组织。本文描述了形成团队组织的垂直、水平和混合方案,并指出了它们各自的优缺点。本次讨论的一个重要含意是您的团队组织和用于管理项目的手段之间应构成默契;任何方法上的失谐都很可能导致项目产生问题。
 
垂直团队组织

  垂直团队由多面手组成。用例 分配给了个人或小组,然后由他们从头至尾地实现用例。
 
优点
  · 以单个用例为基础实现平滑的端到端开发。
  · 开发人员能够掌握更广泛的技能。
 
缺点
  · 多面手通常是一些要价很高并且很难找到的顾问。
  · 多面手通常不具备快速解决具体问题所需的特定技术专长。
  · 主题专家可能不得不和若干开发人员小组一起工作,从而增加了他们的负担。
  · 所有多面手水平各不相同。
 
成功因素
  · 每个成员都按照一套共同的标准与准则工作。
  · 开发人员之间需要进行良好的沟通,以避免公共功能由不同的组来实现。
  · 公共和达成共识的体系结构需要尽早在项目中确立。
 
水平团队组织

  水平团队由专家组成。此类团队同时处理多个用例,每个成员都从事用例中有关其自身的方面。

优点
  · 能高质量地完成项目各个方面(需求、设计等)的工作。
  · 一些外部小组,如用户或操作人员,只需要与了解他们确切要求的一小部分专家进行交互。
 
缺点
  · 专家们通常无法意识到其它专业的重要性,导致项目的各方面之间缺乏联系。
  · “后端”人员所需的信息可能无法由“前端”人员来收集。
  · 由于专家们的优先权、看法和需求互不相同,所以项目管理更为困难。
 
成功因素
  · 团队成员之间需要有良好的沟通,这样他们才能彼此了解各自的职责。
  · 需要制定专家们必须遵循的工作流程和质量标准,从而提高移交给其他专家的效率。
 
混合团队组织

  混合团队由专家和多面手共同组成。多面手继续操作一个用例的整个开发过程,支持并处理多个使用例中各部分的专家们一起工作。

优点
  · 拥有前两种方案的优点。
  · 外部小组只需要与一小部分专家进行交互。
  · 专家们可集中精力从事他们所擅长的工作。
  · 各个用例的实现都保持一致。
 
缺点
  · 拥有前两种方案的缺点。
  · 多面手仍然很难找到。
  · 专家们仍然不能认识到其他专家的工作并且无法很好地协作,尽管这应该由多面手来调节。
  · 项目管理仍然很困难。
 
成功因素
  · 项目团队成员需要良好的沟通。
  · 需要确定公共体系结构。
  · 必须适当地定义公共流程、标准和准则。
 
项目团队士气是项目成功的一个因素

  大部分项目成功的定义说的是项目如何按时完成、是否在预算内以及是否满足用户的需要。但是,在如今要找到好的软件专业人员都非常困难,更不用说留住他们的这种情况下,还需要将项目成功的定义扩展为包括项目团队的士气。可能在努力完成一个软件项目后,不料却因为压榨他们过度而失去了重要的开发人员,这样做可能会符合组织的短期需要,但它对构建一个高效的软件部门的长远利益来说肯定是有害的。衡量项目成功与否的一个重要手段是项目结束后团队的士气。在项目结束之际,项目团队的各个成员是否觉得他们从自己的经历中学到了一些知识、是否喜欢为这次项目工作,以及是否希望参与组织的下一个项目都是非常重要的。

分享到:
评论

相关推荐

    软件开发团队建设

    总结起来,软件开发团队建设的核心在于构建一个目标一致、沟通畅通、合作紧密、领导有力、成员胜任且不断优化的高效团队。只有当这些元素都得到妥善考虑和实施,才能确保软件开发项目得以顺利进行,生产出高质量的...

    教你组织软件开发过程中的评审会议.doc

    不同的培训针对不同的角色,如配置管理员和项目经理,这反映了软件开发团队的不同职责和专业领域。例如,配置管理员主要关注配置管理,而项目经理则需要了解整个项目管理过程。 5. **会议结构**: 训练按部门或...

    软件团队管理课件,适合从事软件开发人员以及团队合作之间使用的

    本课程集锦了丰富的课件资料,旨在帮助软件开发人员和团队领导者掌握有效的团队管理技巧,以实现高效的协作与创新。课程涵盖了团队管理的多个核心方面,包括团队的构建、沟通、决策、激励、冲突解决以及团队精神和...

    软件开发团队管理者必看-如何建立管理软件开发团队Building Software Team

    ### 如何建立与管理软件开发团队 在当今数字化时代,软件开发不仅是技术活动,更是一项复杂的组织管理和协作过程。《Building Software Teams》一书由Joost Visser撰写,旨在为软件开发团队的领导者提供一系列实用...

    软件开发公司研发中心组织结构与职权.docx

    软件开发公司研发中心组织结构与职权 软件开发公司研发中心组织结构与职权是软件开发公司的核心组成部分,负责软件研发、测试、维护和优化等工作。下面是软件开发公司研发中心组织结构与职权的详细介绍。 一、研发...

    软件开发团队管理手册.doc

    在当今快速发展的互联网行业中,软件开发团队管理的有效性直接决定了项目的成败。《软件开发团队管理手册》作为一份详尽的指导文档,其存在的价值不仅在于为管理者提供一个清晰的管理框架,更在于其对团队动态、人际...

    软件开发团队绩效考核制度.pdf

    软件开发团队绩效考核制度是现代企业管理中不可或缺的一部分,尤其在快速发展的软件行业,绩效考核制度的设计和执行对于提高团队效率、激发员工积极性、提升项目完成质量有着至关重要的作用。以下是对给定文件内容的...

    火龙果软件-软件开发团队管理手册.doc

    火龙果软件-软件开发团队管理手册是一份详尽的文档,旨在为互联网行业的软件开发团队提供有效的管理指导。该手册的核心目的是提升团队协作效率,确保项目成功实施。它适用于各种规模和类型的软件开发团队,无论是在...

    研发团队管理-如何建立管理软件开发团队

    本文将基于《Building Software Teams》一书中的最佳实践,探讨如何有效地建立和管理软件开发团队。在软件工程中,一个高效的团队不仅可以提升开发效率,还能保证软件质量,从而降低项目风险。 1. **明确团队目标与...

    软件开发团队的管理PPT学习教案.pptx

    在总结《软件开发团队的管理》PPT学习教案时,我们应认识到,管理软件开发团队需要综合考虑团队目标、组织结构、沟通协作、激励机制以及团队模式的选择。有效的团队管理不仅能够提高项目的成功率,还能够促进团队...

    软件开发标准组织结构.docx

    软件开发标准组织结构 在软件开发项目中,组织结构是非常重要的,它直接影响项目的整体质量和效率。软件开发标准组织结构是指在软件开发项目中,按照一定的标准和规范,设定明确的角色和职责,确保项目的各个阶段都...

    软件开发计划书

    通过软件开发计划书,可以更好地组织和协调软件开发团队,提高软件开发的效率和质量。 二、软件开发计划书的结构 软件开发计划书通常包括以下几个部分: * 引言:介绍软件开发计划书的目的和范围。 * 项目概述:...

    软件产品开发进度表+软件开发计划表

    在软件开发过程中,管理和跟踪进度是至关重要的环节。"软件产品开发进度表"与"软件开发计划表"是实现这一目标的关键工具。...因此,对于任何软件开发团队来说,熟练使用这些工具和方法都是至关重要的。

    RUP-软件开发团队的最佳实践

    RUP的核心理念是提供一套结构化的方法论,旨在帮助软件开发团队实现高效、高质量的软件开发。它强调迭代和增量开发,注重软件生命周期中的各个关键阶段,并提供了丰富的最佳实践来指导团队工作。 **1. 迭代开发** ...

    如何管理软件开发团队.pptx

    在软件开发过程中,团队...总的来说,软件开发团队的管理是一项涉及多方面的工作,它要求项目经理深入理解团队动态,灵活运用各种管理策略,以便构建并维持一个高效、协作且富有创造力的团队,从而推动项目的成功完成。

    软件开发部KPI考核表.doc

    * 软件开发部:软件开发团队或部门,负责软件的设计、开发、测试和维护。 描述: 软件开发部KPI考核表.doc *该考核表旨在评价软件开发部员工的工作表现和业绩,涵盖工作业绩、技术资料汇总、团队协作、工作能力、...

    软件开发组织和角色分工

    ### 软件开发组织与角色分工详解 #### 一、引言 随着信息技术的快速发展,软件开发项目规模不断扩大,其复杂度也随之增加。为了确保软件产品的质量和项目的顺利进行,合理的组织架构和明确的角色分工至关重要。...

    软件项目团队管理系统

    通过对JSP技术、数据库连接等关键技术的运用,结合具体的模块设计与测试,为软件开发团队提供了实用的支持。随着技术的进步和需求的变化,这类系统将不断演进和完善,更好地服务于软件行业的快速发展。

    软件项目开发团队结构

    ### 软件项目开发团队结构 在软件项目开发过程中,高效的团队结构是确保项目成功的关键因素之一。根据所提供的信息,我们可以将软件项目开发团队大致分为以下几个部分:**项目管理团队(Program Management Team)*...

Global site tag (gtag.js) - Google Analytics