【Scrum敏捷软件开发】第十章 团队结构

一个团队的开发效率并不是与团队人数正相关。相反的,团队规模的扩大反而会降低人均开发效率。按照亚马逊的“两个披萨”原则以及各种研究结果,一个团队的最佳体量在5-9人之间。所以对于一个大于9人的开发团队,应考虑拆分成多个团队,尝试两个Sprint之后看看效果。

一个大型的团队应该按照什么样的规则进行团队划分?以下两种都不是一个好的划分方式:

  • 按照组件划分,例如一个游戏团队划分成怪物团队,武器团队。
  • 按照分层划分,例如Service团队,UI团队。

一个真正合理的划分应该是负责“一个可工作特性端到端的交付”,即特性团队:

  • 可工作特性意味着这个模块可以尽量独立于其他模块进行工作
  • 包含从Service到UI的全部交付

一个新成立的Scrum团队通常要面临的一个问题就是不知道如何进行功能上的划分。表现就是无法做到在一个Sprint中交付一个端到端的功能。对于功能的细化非常需要经验,应该尝试用不同的方式对于功能进行划分。如果这样做不可能,则应考虑团队成员的组织是否存在问题。

尽管我们应尽可能的组建特性团队,但是我们在需要的时候还是要考虑组建组件团队。比如当多个特性团队需要一个通用组件的时候。而且创建组件团队可以尽量避免多个团队之间共享专家。

自组织团队可能是最好的Scrum团队,也就是团队成员自行组织人员在团队中的分工。一个好的团队应该是多样化的,技术水平、专业、文化背景等等。

在同一时间应该有较少的项目在进行,不是说在一段期间内项目应该少,而是在同一时间应该避免有多任务。

你可能感兴趣的:(【Scrum敏捷软件开发】第十章 团队结构)