拆分开发团队

时间:2009-10-07 06:02:11

标签: project-management

我正在组织团队对下一版本的产品进行并行开发。我按照

对团队进行了分组
  1. 特定于客户
  2. 功能特定
  3. 通过将该任务分配给特定个人来处理跨职能问题。

    想了解项目经理/领导小组团队的其他方式吗?

5 个答案:

答案 0 :(得分:2)

如何进行拆分并不重要,但在拆分需要注意的开发团队时会有一些陷阱。

整合程度决定了您拥有多少风险。碰巧共享某些库的单独软件产品风险很小。高度集成的运行时组件会带来更大的风险。

您可以找到的最糟糕的情况是团队之间存在依赖关系以提供功能但没有明确的所有权。例如,团队A正在等待B团队进行“后端服务”,但团队B认为该服务已完成。 A队表示该服务不符合所有要求。但是B队已经转向了新功能。等等......

我已经看到了这个我们与他们的态度,从根本上将发展停滞不前。要解决此问题,请鼓励跨团队配对和共享代码所有权。不时轮换团队成员。确保有一个负责人能够使功能端到端地发生。

致力于开发可重用模块的团队通常不起作用。这是因为可疑价值和治理噩梦的模块集合。最好的可重用模块来自提供类似功能并自行识别重叠的团队。

答案 1 :(得分:0)

我们按照组织中特定的产品对人员进行分组。每个团队为特定产品编写代码。当产品的功能与其他产品相交时,有时他们会在该功能上进行协作。我们做了很多划分,所以它可能。

编写大量可重用的模块。这是关键。

我的组织也只针对大客户进行客户特定工作。

答案 2 :(得分:0)

我坚信结对编程,我会团队合作,这样一对将管理和编写测试用例(tdd),而另一对将编写它。我会建立一个基于相同主题的团队。

答案 3 :(得分:0)

  1. 如果您的产品涉及多种技术,那么您可以技术明智地将团队分组
  2. 技能组

答案 4 :(得分:0)

关键是允许每个团队遵循相同的标准,但能够尽可能独立地工作(解耦)。

如果您的客户端具有相同的代码库,您可能不希望按客户特定需求拆分团队,因为它可能导致更多的重叠更改。

如果功能跨系统功能(AR,安全,报告等)区域,您可能希望按功能区域划分。

分裂团队的其他方法:

  1. 前端(设计实现)和业务逻辑和数据库/数据存储
  2. 新的开发和维护(更新/更多jr人员进行维护)
  3. 核心功能和插件模块(如果基于组件)