1. 猪和鸡的故事
一天,一头猪和一只鸡在路上散步。
鸡对猪说:“嗨,我们合伙开一家餐馆怎么样?”
猪回头看了一下鸡说:“好主意,那咱们给餐馆起什么名字呢?”
鸡想了想说:“叫火腿和鸡蛋怎么样?”
“那可不行”,猪说:“我把自己全搭进去了,而你只是参与而已。”
这个有趣的故事,生动形象地说明了Scrum敏捷开发过程中两类不同的角色:猪角色(完全投入)和鸡角色(部分参与)。
猪角色被认为是团队中的核心成员,在一个Scrum团队中产品负责人、敏捷教练和开发团队就是"猪"角色。
鸡角色不是Scrum团队的一部分,但必须要考虑他们,用户、客户和供应商等项目干系人扮演着“鸡”角色。
2. Scrum三大角色
Scrum团队包括三大角色,分别是产品负责人(Product Owner)、开发团队(Team)和敏捷教练(Scrum Master)。
2.1 Product Owner
产品负责人负责最大化产品以及开发团队工作的价值。实现这一点的方式会随着组织、Scrum团队以及单个团队成员的不同而不同。
产品负责人是管理产品待办事项列表(Product Backlog)的唯一责任人。产品待办事项列表的管理包括:
- 清晰地表达产品代办事项列表条目。
- 对产品代办事项列表中的条目进行排序,最好地实现目标和使命。
- 确保开发团队所执行工作的价值。
- 确保产品代办事项列表对所有人可见、透明和清晰,并且显示Scrum团队的下一步工作。
- 确保开发团队对产品代办事项列表中的条目达到一定程度的理解。
2.2 Team
开发团队包含了专业人员,负责在每个Sprint的结尾交付潜在可发布的产品增量。只有开发团队的成员才能创造增量。
开发团队由组织构建并授权,所产生的协同工作能最大化开发团队的整体效率和效力。开发团队有以下几个特点:
- 他们是自组织的,没有人(即使是Scrum Master都不可以)告诉开发团队如何把产品代办事项列表变成潜在可发布的功能。
- 开发团队是跨职能的,团队作为一个整体拥有创造产品增量所需要的全部技能。
- Scrum不认可开发团队成员的头衔,无论承担哪种工作他们都是开发者。此规则无一例外。
- 开发团队中的每个成员可以有特长和专注领域,但是责任归属于整个开发团队。
- 开发团队不包含如测试或业务分析等负责特定领域的子团队。
2.3 Scrum Master
敏捷教练负责确保Scrum被理解并实施。为了达到这个目的,敏捷教练要确保Scrum团队遵循Scrum的理论、实践和规则。敏捷教练是Scrum团队中的服务式领导。
敏捷教练帮助Scrum团队外的人员了解他们如何与Scrum团队交互是有益的。敏捷教练通过改变这些交互来最大化Scrum团队所创造的价值。
敏捷教练的服务事项包括:
- 找到有效管理产品待办事项列表的技巧。
- 清晰地和开发团队沟通愿景、目标和产品待办事项列表条目。
- 教导开发团队创建清晰简明的产品待办事项列表条目。
- 在经验主义环境中理解长期的产品规划。
- 理解并实践敏捷。
- 按需推动Scrum活动。
- 指导开发团队自组织和跨职能。
- 教导并领导开发团队创造高价值的产品。
- 移除开发团队进展过程中的障碍。
- 在Scrum还未完全被采纳和理解的组织环境下指导开发团队。
- 领导并指导组织采用Scrum。
- 在组织范围内计划Scrum的实施。
- 帮助员工及干系人理解并实施Scrum和经验性产品开发。
- 发起能提升Scrum团队生产力的变革。
- 与其他Scrum Master一起工作,帮助组织更有效的应用Scrum。
2.4 Scrum团队特点
Scrum团队是自组织、跨职能的完整团队。自组织团队决定如何最好地完成他们的工作,而不是由团队外的其他人来指挥他们。跨职能的团队拥有完成工作所需要的全部技能,不需要依赖团队外部的人。
Scrum团队模式的目的是最大限度地优化适应性、创造性和生产力。
结束语
写博客的过程中,我就在思考自己在公司新项目中将扮演怎样的角色。从整个项目集视角,我是负责提供可验收可演示阶段性单一产品的开发。从单个项目视角,我是负责提出产品需求的产品负责人。另外,因为缺少专门的敏捷教练,我不可避免的也会做一些Scrum推广和具体实施情况改进的工作。
国内大多数的所谓Scrum团队角色,都很难像理论上那样职责清晰明了。企业大多是打着Scrum的旗帜,照猫画虎的浅尝而已,例如,简单的开每日站立会议,并没有全面系统地应用Scrum理论和方法。
Scrum是一整套项目管理方法论,要想发挥最大效力,必须通盘考虑,改革传统架构和责权划分,以从实质上适应Scrum开发,最大限度地提高产品迭代效率和质量。