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

如何组织软件开发团队

阅读更多

如何组织软件开发团队

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

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

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    软件开发团队建设

    本文从建设团队的内容和重要性、当前一些软件开发团队建设过程中存在的问题分析以及如何建设优秀的软件开发团队等方面探讨了软件开发团队建设问题。这些问题是建设一个有战斗力团队的基本问题,研究这些问题,就是...

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

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

    人件:软件开发管理经典

    《人件》已成为软件图书中的经典之作。它和《人月神话》共同被誉为软件图书中“两朵最鲜艳的奇葩”。人们认为,《人月神话》关注“软件开发”本身,《人...本书还对大中型组织中的软件开发团队如何运作进行了深入探讨。

    项目管理论文

    如何组织软件开发团队 156 如何组织一个高效的开发团队 158 软件项目团队建设的“三个中心” 160 团队管理101招 161 项目管理中"以人为本"的思想 163 “样板参照法”——项目管理团队建设的有效工具 165 IT...

    信息系统项目管理师论文指南加范文30篇

    如何组织软件开发团队 164 如何组织一个高效的开发团队 166 软件项目团队建设的“三个中心” 168 团队管理101招 169 项目管理中"以人为本"的思想 171 “样板参照法”——项目管理团队建设的有效工具 173 IT应用的...

    敏捷软件开发方法与实践

    第6章从组织变革实施模型的角度分析了软件开发组织(全企业或企业中的一些部门)如何进行敏捷转型;第7章介绍了在分布式开发环境和团队中如何采用敏捷实践。, 《敏捷软件开发方法与实践》的目标读者包括软件行业从业...

    软件项目管理师大全(大纲+论文格式+经典案例)

    如何组织软件开发团队 156 如何组织一个高效的开发团队 158 软件项目团队建设的“三个中心” 160 团队管理101招 161 项目管理中"以人为本"的思想 163 “样板参照法”——项目管理团队建设的有效工具 165 IT应用的...

    Scrum敏捷软件开发

    《Scrum敏捷软件开发》是软件企业及其管理团队成功进行敏捷转型战略及实施的必备参考书,适合经理、开发人员、教练、ScrumMaster、产品负责人、分析师、团队领导或项目领导,是帮助他们成功完成项目,甚至造就敏捷...

    软件开发团队的“基础设施”建设

    作为一种智慧产品,软件开发基本上是一种智能的投入,是软件开发团队的智慧结晶。在软件中凝结的智能愈高,软件的价值就愈高,能被市场接受的价格就愈高。完全按工程组织来完成软件开发,基本是不可能完成的任务。在...

    信息系统项目管理师 论文 信息系统项目管理师范文

    如何组织软件开发团队 156 如何组织一个高效的开发团队 158 软件项目团队建设的“三个中心” 160 团队管理101招 161 项目管理中"以人为本"的思想 163 “样板参照法”——项目管理团队建设的有效工具 165 IT应用的...

    软件开发规范整体规范

    本文档是软件开发规范,力求使团队打下一个良好的基础,以便逐步成长为成熟稳定的团队。团队需要一个逐步标准、规范的开发过程,在这个过程中,团队得到锻炼,成员能力得到提高,风险得到控制。 主要内容是:  ...

    敏捷软件开发.pdf

    目录  译者序  第2版前言  第1版前言  第0章不可知和不可说 ... 附录Aa敏捷软件开发宣言和相互依赖声明  附录BNaur、Ehn、宫本武藏  附录BaNaur、Ehn、宫本武藏:演进  附录C后记  参考文献

    敏捷项目管理-软件开发指导思想

    工作的软件是首要的进度度量标准。 敏捷过程提倡平稳的开发节奏;...最好的构架、需求和设计出自于自组织的团队。 每隔一定时间,团队会在如何才能更有效地工作方面进行反思并对自己的行为进行相应调整。

    简单之美-软件开发实践者的思考(中文高清版)

    第2章 关于软件开发方法论的思考 2.1 方法论的实践场景 2.2 CMM的精髓 2.2.1 过程定义 2.2.2 成熟之路 2.3 敏捷软件开发的精髓 2.3.1 人与实践 2.3.2 海岸灯塔 2.4 最好的软件开发方法 2.4.1 中庸 2.4.2 ...

    团队软件过程(修订版)

    这本书系统地论述了如何以开发团队的形式来进行软件的开发,并对开发过程作出了具体而详尽的指导,包括团队成员之间的协调、进度的管理、质量的控制等令读者最感兴趣的方面。本书内容包括四个部分:第一部分——绪论...

    工程监理软件开发.pptx

    保证目标实现的设计服务要素 更具前瞻性的行业整合与创新 合理有效的数据组织与系统布局 强烈的用户交互式参与功能 支持快速反应的后台数据管理 不断创新的服务团队支持 工程监理软件开发全文共14页,当前为第3页。...

    软件开发中级编程指南 1:.NET平台及C#编程(3/3)

    软件开发中级编程指南 1:.NET平台及C#编程——全国信息化计算机应用技术资格认证教材之一 全国信息化计算机应用技术资格认证:(Certificaleo of Computer Application Techniaues,CCAT)项目,是为社会培养以实践...

Global site tag (gtag.js) - Google Analytics