软件研发效能提升之美
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1.3 敏捷角色

回到敏捷开发以人为本的话题,人和团队对项目的成败至关重要,下面我们介绍一下敏捷开发所涉及的各个角色及他们的主要工作内容和职责。值得注意的是,不同的敏捷开发方法对角色的定义和理解是有差异的,我们将针对敏捷开发中最主流的Scrum方法所涉及的三个角色分别进行介绍。

产品负责人

产品负责人是敏捷开发中最为关键的角色,在敏捷宣言中,我们倡导与客户保持联系,倡导开发人员之间保持沟通,产品负责人就是这种高频互动的纽带,通过其职能将各方联系在一起。产品负责人对产品负责,具有需求决策权,与客户沟通并提供反馈,同时决定该做出何种反应,如修改排期、修改优先级、增减待办事项,等等。其主要工作罗列如下:

• 将业务需求转化为产品,并进一步转化为项目工作。

• 建立和维护产品待办列表,也就是项目需要完成哪些功能。

• 排定优先级,包括项目、发布、迭代周期等内容。

• 在迭代完成后对项目工作进行验收。

• 作为桥梁联动项目各方参与和沟通。

敏捷教练

敏捷教练(Scrum Master)是Scrum方法中的一个关键角色,在其他敏捷方法中也有类似的角色定位,简单地说,敏捷教练的职责就是帮助团队解决一切敏捷实践过程中遇到的问题,他不仅需要具备丰富的敏捷知识和实践经验,更要帮助团队中的每个人正确地理解敏捷思想、价值观和原则,并付诸实践。

敏捷教练需要高度参与到整个项目过程中,观察团队的日常工作方式,引导团队践行敏捷开发理念,对偏离目标的工作方式及时介入纠正,并提供有效反馈,正向激励团队。与产品负责人不同,敏捷教练需要对流程负责,帮助团队改进甚至是变革,以实现最大化的价值交付。

敏捷教练的主要工作如下:

• 指导团队践行敏捷价值观、原则和过程。

• 帮助团队消除一切可能影响项目交付的障碍。

• 完善和坚守流程,保证站会、规划会、审查会、回顾会等正常实施。

• 为团队提供敏捷实践的各项支持,帮助团队成长。

开发团队

这里的开发团队是一个广义的概念,包含所有为交付产品而付诸努力的专业技术人员,如研发、测试、架构、运维等,是产品交付的主力军。在敏捷实践中,开发团队的人数最好保持在5~9人,过少的人数会弱化协作的作用,而过多的人数则会受制于人员的差异和多样化,从而使协作变得困难。开发团队是自组织的,团队成员在稳定、信任和开放的氛围下,自我管理工作和任务分配。