敏捷实践之Scrum角色
敏捷实践之Scrum角色
任志强 Roger
2019年02月
序 言
敏捷开发近些年在国内软件公司中越来越流行起来,越来越多的公司开始采用敏捷方法并投入精力去研究推广敏捷方法,因此也造就了国内一批又一批敏捷实践者和爱好者,我想当初Kent Beck等敏捷宣言的创始人也未必预见今天敏捷遍地开花的景象吧。
本人从2011年开始在IBM开始接触敏捷开发到后来做Scrum Master到现在的做敏捷教练,在敏捷的学习和实践中受益匪浅。我欣赏甚至是崇拜精益思想和敏捷方法,也特别希望能总结一些想法和心得来记录在这敏捷之路上遇到的困难和问题,从而分享给那些已经或者正准备踏上敏捷之路的朋友们用于个人学习、研究和欣赏,以及非商业或盈利性用途,为在敏捷之路的个人和群体贡献一份力量。
系列文字主要内容来自于个人敏捷转型实践、书箱文献和日常系列活动心得等的提炼总结和创作。此系列文字内容推荐有基本敏捷常识及有一定Scrum理论基础的朋友们阅读,并按实际场景进行参考。如内容涉及版权或原创作者有不同见解之处,敬请及时告知,乐于接受并给予修正。
目录
1 概述
Scrum框架中定义了三种角色,包括产品负责人、Scrum Master和开发团队。在我过去10年的工作经历中这三种角色我都担任过,虽然做的不够出色却也有些心得体会,本文将分别阐述这三类角色的职责、技能和日常工作内容。
2 产品负责人
2.1 主要职责
产品负责人是做产品规划和冲刺规划的重要参与者,他是开发团队和客户之间的桥梁纽带,是客户方的代言人,也是开发团队的外交官。
2. 梳理产品列表
产品负责人负责牵头优化(Refinement)产品列表,包括产品列表条目的建立、细化、澄清、估算和排列优先级。
3. 经济效益考量(可选)
Scrum框架中没有说明产品负责人对项目成本和收益负责,但我经历的项目中我作为Scrum Master兼产品负责人,这种情况下组织需要我提供项目成本预算,投入产出比。这个项目是内部项目,运营的同事还邀请我一同分析预测第一个版本上线后营收情况。所以说实际工作中,产品负责人或者Scrum Master都可能会涉及经济效益的评估。
2.2 技能
1. 领域知识
为了更好理解产品需求,产品负责人一定要学习或者具备该产品涉及的业务和领域知识。
2. 沟通和人际交往能力
产品负责人和客户沟通最多,这要求他有比较好的沟通能力,并和客户维持良好的合作关系。
3. 决策能力
在我做产品负责人的时候,业务需求和技术实现又一次因为时间限制欠下一个后期难以偿还的技术债。所以我的经验告诉我优秀的产品负责人在业务需求和技术实现之间需要有正确的决策能力。
2.3 日常工作
有如下但不限于如下工作内容:
1. 与客户一同建立愿景、规划产品;
2. 管理和优化产品列表;
3. 与团队制定冲刺计划;
4. 向团队澄清产品列表条目;
5. 参加冲刺评审和回顾会议;
3 Scrum Master
3.1 主要职责
关注团队使用Scrum的过程,保证带领团队在Scrum框架下的指导的原则(以敏捷宣言为核心)和价值观(诚实、开放、勇敢、尊重、信任、授权和合作)基础之上工作。
2. 团队保护者
保护开发团队免受外界干扰,让团队可以集中精力在每个冲刺交付业务价值上。曾经一个测试的职能经理在没有和我沟通的情况下分了一些另一个项目的工作给团队的测试人员,第二天早会过状态时我才发现这个问题,我毫不犹豫的告诉测试的兄弟下次让她先找我。
3. 清除障碍
有人戏称Scrum Master是团队的“清道夫”,负责扫清一切影响团队生产效率的一切障碍,包括人、工具和流程。
4. 促进团队合作
我是从传统的项目经理走过来的Scrum Master,我之前这样形容我自己的工作:“被授权管理协调可用资源完成既定目标的项目经理”,而现在我会这样形容我自己的工作:“鼓励团队参与、促进个体为合作共同目标创造价值”。
3.2 技能
Scrum Master作为团队内部的敏捷教练、团队负责人注定事情比较繁杂,对其软、硬技能要求都比较高,借用Agile Coaching Institute的敏捷教练能力模型如下图。其实有人说敏捷教练的综合能力级别比Scrum Master要高,尽管我同意这个观点但我仍然愿意以下图敏捷教练的Level去对其Scrum Master能力。
总之,我个人认为一个优秀的Scrum Master应该知识面很宽、善于观察、提深度问题、善于倾听、善于沟通、有协作精神、可以引导影响团队的角色。
3.3 日常工作
1. 组织推进Scrum活动,包括冲刺规划、冲刺执行、冲刺评审、冲刺回顾和每日例会;
2. 指导团队工作,帮助团队提高使用敏捷过程和技术实践的能力。
3. 监控工作进度;
4. 处理外部干扰因素;
5. 协助产品负责人管理产品列表
4 开发团队
我想说Scrum官网“开发团队”这个角色的翻译有些歧义,在中文概念里开发团队好像都是开发者,但Scrum中的开发团队包含所有实现软件的技术人员,例如UI、UE和测试工程师等。
4.1 主要职责
1. 创造业务价值
开发团队通过自己的技能,利用工具在一定的Scrum框架和实践流程中创造软件的商业价值。
4.2 特征/技能
1. T型人才
敏捷宣言的第一条就是“个体和互动胜于过程和工具”,我认为敏捷的核心是个体即人,比较理想的是开发团队由高素质、有广度、有深度的个体组成。
2. 跨职能
大多数情况下开发团队是由跨职能的技术人员组成的,Scrum框架也是建议这样组建团队
3. 自组织
自组织是比较理想的情况,这样的团队自己选择如何以最好的方式完成工作,而不是由团队之外的人来指导(Scrum Master也不会冒昧的这样做)。
4. 积极努力
积极努力的工作态度是团队达成冲刺目标一个重要因素。
5. 专注
专注是需要每个团队成员参与并集中精力关注团队目标。
6. 有责任感
有责任感是指不论情况好坏,每个团队成员都会致力于完成团队共同目标,而不是推诿责任。
7. 工作节奏可持续
舒适的工作环境和合理工作强度可以让团队保持可持续、高效能的产出,频繁的高强度工作会使团队人员疲惫不堪甚至影响工作质量。
8. 诚实、透明
团队的沟通是透明,所有成员之间都清楚每个人的工作现状,每个成员都诚实互信。我曾经带过一个团队,他连续两天说自己手上有个特别难处理的Bug没找到原因,其实他是想准备一个人的考试故意放大自己的工作或者障碍来为自己争取时间,这样不诚实的成员导致大家无法相信他,他也是阻碍团队自组织和达到目标的绊脚石。
9. 利他主义
人人为我,我为人人:我尽量不给他人制造麻烦,我愿意帮助其他人共同完成冲刺目标,成败是团队的事。
4.3 日常工作
1. 创造性工作
在冲刺执行期间,开发团队完成包括设计、构建、集成、测试、生成潜在可交付增量。
2. 每日检视和调整
每日站会团队在同一时间同一地点(会议时间不超过15分钟)一同检视冲刺目标的进展情况,根据当天的工作情况调整计划。
3. 梳理产品列表
梳理产品列表,包括产品列表条目的建立、细化、估算和排列优先级,这些工作都是产品负责人主要负责,但是需要团队的协助才能完成,比如估算活动。
4. 冲刺计划
在每个冲刺开始时,开发团队与产品负责人一同从产品列表中选取可以完成的工作条目作为团队的冲刺目标,并且与产品负责人合作定义“完成”。
5. 冲刺检视和调整
冲刺结束的时候,开发团队要参加评审会议和回顾会议,评审是检视开发团队完成的特性是否符合利益干系人和客户的期望,通过评审反馈采取改进措施。回顾是开发团队检视和调整自己的工作过程和技术实践,目的是发扬长处、改善短处。
- 点赞
- 收藏
- 关注作者
评论(0)