职责和角色不清楚往往是造成软件项目团队管理混乱的一个重要原因,一个好的软件团队必须根据团队规模的不同和项目本身的特点对项目成员的角色和岗位进行明确的划分,这样团队中的每个成员才可能有清晰的责任和目标。

软件开发不管采用哪种生命周期模型和开发方法论,整个过程都会包含需求,设计,开发,测试,配置管理等各项活动。而这些活动会对应到项目中的不同角色,项目中进行岗位划分后每个岗位成员可以兼职多个角色。形成相关的角色岗位矩阵。

方案一:项目负责人总览全局。

对于小作坊的软件开发团队,可以由一个项目负责人总览全局。项目负责人承担从用户需求->软件需求->总体设计的所有工作。同时还需要做到整个团队进度规划,质量保证,配置管理和沟通协调等相关工作。所以小型项目团队对项目负责人的业务,技术和沟通管理等技能都要求较高,项目负责人是项目中的总体方案确认者和架构师。项目负责人能力和技能往往决定了整个软件项目的成败。

我们这里指的小型团队并不是只一个人单打独斗的项目,所以项目负责人最好不要介入到模块设计和编码活动中,而是应该把重点放在进度的控制和质量的保证上面。由于项目负责人一般有较强的技术能力,所以项目负责人可以承担项目中要使用的一些新技术的研究,项目中一些疑难问题的解决等相关工作。项目负责人还应该有计划的设计开发人员的代码进行Review,对发现的规范性,性能,复用差等问题跟项目成员确认,并写入到项目开发规范中。

方案二:项目负责人和开发负责人分离

在这种方案下项目负责人和开发负责人在软件需求和架构上的工作是重叠的。这两个岗位的人员共同来确认项目的总体方案和架构。项目负责人的重点在项目管理和与客户交流沟通上,只有确认清楚第一手的用户需求,才能开发出用户满意度高的软件。对于很多小型项目往往是用户需求都没有搞清楚就开工,项目成员完全凭借着自己的感觉在做系统,过程中又不注意与用户及时反馈和迭代,导致开发出完全不能使用的系统;开发负责人的重点是对整个开发过程负责,包括对项目经理确认的进度目标进行任务的进一步分解,安排后续的增量和迭代计划。方案二的重点是第一次解放项目经理,架构的核心移动到了开发负责人,而项目经理仅仅是参与讨论和评审。而单独剥离出开发负责人后,可以更好的对开发过程进行跟踪和协调,开发负责人重点放在项目内部,而避免过多去和外部干系人沟通和协调。

方案三:测试的专职化

对于项目团队发展到5-10的时候,项目中的测试工作必须专职化的由测试人员来完成。一般测试人员的配置比例为4-6个开发人员需要配置一名专职化的测试人员。测试人员站在第三方和模拟使用者角度来进行系统的测试,可以更好的发现系统的BUG和相关问题,有效的保证系统的质量。

方案三中项目经理工作进一步清晰,项目经理不在承担软件需求和架构的相关工作。而重点放在项目内外的沟通协调和整个项目进度计划的安排上。这个时候项目中的设计负责人对整个系统的总体设计方案和架构负责,而且设计负责人也将不在参与具体的功能模块的设计和开发工作。设计负责人的重点转化到的软件需求的开发和总体设计上面(如涉及到RUP中的用例建模,用例分析,架构设计,组件接口复用)。

方案四:项目经理和需求角色分离

当项目团队的规模发展到12-20人的时候,项目团队基本上可以算做中小型的项目团队。这个时候项目经理完全专职化做项目管理的工作。包括项目进度计划制定,项目跟踪监控,风险分析和控制,项目度量分析和决策等相关内容。对于需求活动设置专门的需求工程师岗位来完成需求的开发。同时项目中设置专门的架构设计人员,架构设计人员不再负责需求的开发工作,而重点在于系统总体设计方案的确定,系统的4+1视图的分析,同时架构人员要考虑整个系统的集成方案的确定和具体功能单元和模块的集成。

由于项目规模的扩大,项目的配置项更加复杂,项目也需要同时起开发,测试,集成和BugFix等多个分支。因此需要设置专门的配置管理员来进行项目的配置管理。

对于项目同时需要开发新版本,又需要对已经发布的维护版本进行功能改进的时候,项目中要考虑设置专门的维护人员。由维护人员来完成项目小功能的改进和BUG的修复。这样新版本设计开发人员可以更专注的进行新功能的开发。

附RUP提供的20人团队的具体人员安排方案:

如何对软件项目团队成员进行角色和岗位的划分相关推荐

  1. 浅析IT软件项目团队人力资源管理

    (本文于2010.10.01发表在<草根>杂志第四期,LAMP交流超级群(500人):106382633) 本文通过整理各位先贤的观点和言论,简单阐述在IT软件项目管理中的人力资源管理的一 ...

  2. 软件开发团队成员分工_分析软件开发人员的能力–选择合适的团队成员

    软件开发团队成员分工 在这篇文章中,我将尝试解释一种评估开发人员技能的方法. 该方法仍然是一个概念,缺少一些具体的决策,但是您可以选择最适合您的情况的方法. 有许多评估开发人员技能的方法,我最喜欢的是 ...

  3. 团队成员的角色类型及其给我们的启示

    "天生我才必有用",讲的是人们在人类社会活动过程中,任何人都会有自己的价值和贡献.其实,团队中的各成员更是如此. 国际相关组织从团队成员性格和能力的角度对团队角色进行了深入而卓有成 ...

  4. 团队成员的角色类型及其给我们的启示(转)

    "天生我才必有用",讲的是人们在人类社会活动过程中,任何人都会有自己的价值和贡献.其实,团队中的各成员更是如此. 国际相关组织从团队成员性格和能力的角度对团队角色进行了深入而卓有成 ...

  5. 「软件项目管理」一文了解软件项目团队计划

    一文了解软件项目团队计划 序言 一.人力资源计划 1. 团队定义 2. 项目组织结构 (1)职能型 (2)项目型 (3)矩阵型 3. 责任分配矩阵 二.项目干系人计划 1. 干系人定义 2. 干系人识 ...

  6. 自信心受挫,该如何让项目团队成员重新振作起来

    一个工作经验才两年的同事A,由于工作分配的关系负责一个系统的设计和调试,为了保证项目的进行,给他指派了一个导师B.由于导师本身同时有数个项目在进行中,所以给与了A充分的发展空间,全权进行项目的开发.A ...

  7. 软件开发团队中的角色

    一个NBA球队场上球员的组成与软件团队有相通之处,且作一笑谈,不足为证: 1号位,控球后卫(PG),他是球场上拿球机会最多.掌握比赛.组织进攻的人,不仅负责把球从后场安全地带到前场,再把球传给队友,给 ...

  8. 你不是一个人在战斗——软件项目团队模型

    摘要: 俗话说"三个臭皮匠胜过诸葛亮",但实际工作情况往往是"三个诸葛亮不如一个臭皮匠"! 软件开发是智力型团队,如何发挥每个人的作用,并将所有人的力量扭成一股 ...

  9. 团队项目-团队成员介绍

    团队(Cyclonius) 团队简介 本团队是一个充满了青春.热血.有趣.努力.奋斗.坚强.不屈.顽强.充满活力.有着清澈的愚蠢的北航敏捷大学生软件开发团队.本团队保持坚强不屈为信条,即使前面有着无数 ...

最新文章

  1. eclipse如何连接mysql_Python如何连接 MySQL?
  2. 统计学习方法笔记(五)-线性可分支持向量机原理及python实现
  3. json知识中的数据契约
  4. 【身份认证与控制二】分布式session共享(序列化问题)
  5. Huaman Gene Functions
  6. 年前的面试经历(二)
  7. hbase shell删除一行_HBase安装phoenix实战shell操作
  8. BubbleSort C#
  9. php 电脑的右下角弹框,电脑右下角弹出广告的解决方法
  10. Typora mac 安装包下载与提取
  11. 计算机组成原理——输入输出系统
  12. ppt插入html(用office而不是wps)
  13. JAVA向word模板文档中写入数据并下载
  14. kindle电子书200G分享
  15. 谷歌浏览器快速保存整个网页的方法
  16. UOM Conversion Relationship Not Found
  17. QML类型:Emitter、TrailEmitter
  18. matlab 二维地图常用绘图函数用法(plot,fill,rectangle)
  19. Processing基础---绘制基本图形、颜色
  20. 怎么样用计算机打字,五步教你如何电脑快速打字!

热门文章

  1. [洛谷3811]【模板】乘法逆元
  2. vmware esxi 查看网卡、Raid卡驱动
  3. python 批量处理文件重命名
  4. Android WindowManager 解析与骗取 QQ 密码案例分析
  5. 在 2016 年做 PHP 开发是一种什么样的体验?
  6. 分布式id 实现方式
  7. JavaFX打包工具(javafxpackager)
  8. 怎样增加网站的百度权重
  9. 设置IP安全策略将***阻杀在端口外
  10. 在Windows2003下搭建FTP服务器