同一个敏捷团队如何同时做多个项目?
liuqiang
2008-08-07
对于一个组织来说,同一组开发人员来完成多个项目,这是常有的事儿。在这种状况下,应该如何组织团队呢?他们的工作又该如何计划和分配呢?
如果可分配的资源较多(比如说,可以为每个项目分配6至10个开发人员),而且已经知道这些项目的大小和相对优先级,一般来说,将开发人员划分为两个或多个团队就可以了。 反过来说,如果每个项目能够分配到的人员很少(每个项目只能有1到3个开发人员),而且项目的大小和相对优先级不明确或者易于变化的状况下,就很难以一种有效的方式来划分团队了。 针对如何组建一个项目和团队,Gilad Gruber正在寻求答案: 我想知道最好的方式是什么,Scrum是如何处理这种情况的。我觉得最好的方式是所有的团队共同拥有一个product backlog(尽管这意味着在一个sprint中,团队会处理分属不同项目的问题)。我认为那些拥有纯粹主义观点的人会推荐切分团队并建立多个backlog。 Wolfgang Shulze Zachau分享了他的经验: 我们只有一个团队和一个覆盖多个项目的product backlog,而且只有一个产品所有者(Product Owner,简称PO)。他在对客户和其他利益相关者进行仔细交流后,对优先级有最终决定权。只要让PO能自己做决定就行。 他又说道:“当然,其前提是你要有个合格的PO。” Xu Yi-Kaveri表达了不同意见: 我反对多个团队共有一份product backlog。因为PO是决定product backlog的人,而我认为,基本上同一个人不可能同时是多个项目的PO。 他所担心的是:如何排定项目间的优先级,以及这样做可能会影响产生特性的优先级和项目的优先级的排定。因此,他建议: 你应该评估你的团队的工作能力,然后可能要和项目经理讨论一下多个项目间的能力差异。接下来,根据团队的具体工作能力,为不同的项目选择各自的product backlog条目。 Roy Morien建议依据常识在两者中做出选择: 无论如何,常识必须被认可。如果可以方便高效地切分多个团队,而且每个都拥有自己的product backlog,那就这么做好了,每个PB都可以独立划分优先级。假如多个团队共享同一个backlog,这就暗示着多个团队(每个团队的适当人数是7~9人)共享相同的PB,处理PB的优先级时就会出现问题,而且“有条理地选择条目并把其放入Sprint backlog”也将成为麻烦事。 最后,George Dinwiddie现身并(通过邮件列表和博客)分享了他使用多个product backlog时遇到过的一些问题: 估算就是估算。开发人员很可能处在这样一个境地:工作量配额已经用完了,要么继续开发一个未完成的用户故事,要么切换到别的工作。此时,或许开发人员要被迫加班,因为PO可能责怪开发人员未完成任务。在这种状况下,可能发生很多事情,但几乎没有哪件事情是符合敏捷原则的。 我跟你说,这一点儿都不好玩,而且对于业务也没有任何好处。 |
相关讨论
相关资源推荐
- 日志钩子(JournalRecord Hook)的使用
- delphi下支持64位的钩子实现
- testflight怎么做版本更新_苹果更新 TestFlight 3.0 版本:能自动更新内测应用了
- 软件版本GA、RC、beta等含义
- Kubernetes基础:Deployments从beta版本到v1的变化对应方法
- Maven多环境配置:开发环境、测试环境、生产环境打包配置
- 抢先体验:优麒麟社区 22.04 LTS Beta 版本发布
- Beta版: 使用 unicode UTF-8 提供全球语言支持(U)
- Alpha 测试与 Beta 测试:有什么区别?
- 【npm】npm发布测试(beta)版和正式版