敏捷开发中的PO即Product Owner,字面意思是产品或业务负责人,即熟悉该产品所有业务相关的逻辑、流程、设置等方面事宜的人员,一般可由产品经理担任,也可由熟悉业务的开发人员担任。如果敏捷团队是在一起办公的(指一个办公室内坐在一起的),建议由产品经理担任,本身产品经理已经是所有业务的接口人,熟悉业务是其本职工作;如果产品经理和开发、测试团队是两地办公的,如设立的研发中心、外包服务等形式的,建议在开发团队内指定一个人来担任PO,这样产品经理在第一次PRD全体review之后,只需跟这个PO讲解清楚产品逻辑,后续开发和测试当中遇到的问题,都可以咨询PO来得到解决,PO不确定的可以联系产品经理确认,这样可以减少一部分的沟通成本。
敏捷开发中的SM即Scrum Master,字面意思是敏捷专家或者敏捷大师,即熟悉敏捷开发模式及敏捷实施流程的人员,一般可由敏捷团队当中的开发负责人担任,部分能力很强且懂技术的产品经理也可担任这个角色,因涉及到工作量评估和分派等工作,最好都是由技术能力较强的人员担任。
Product Owner(PO)
Product Owner角色定义
确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品ROI(profitability of product)负责。 是维护产品需求清单( product backlog )的人,代表利益相关者的利益。
Product Owner工作职责
负责最大化产品以及开发团队工作的价值。主要职责如下:
1、确定产品的功能;
2、决定发布的日期和发布内容;
3、为产品的ROI负责;
4、根据市场价值确定功能优先级;
5、每个sprint中,根据需要调整功能和优先级(每个sprint开始前调整);
6、接受或拒绝开发团队的工作成果;
7、参与Scrum Planning Meetings(Sprint计划会议),Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)
Product Owner在团队中的作用
在junior团队中:主要的需求来源,个人确定需求价值和优先级
在intermediate团队中:多角度的收集需求,和团队成员共同确定需求的价值和优先级
在Senior团队中:和团队成员共同提出和收集需求,共同对产品负责
这里的团队分级主要是指团队的敏捷成熟度,即产品团队实施敏捷开发模式后,对敏捷开发模式的适应程度、接受程度和学习程度。后面会专门介绍团队的评估标准。
一句话总结PO这个角色就是:告诉产品团队要做什么,做功能的先后顺序是怎样的,需求有变动时该如何处理。
Scrum Master(SM)
Scrum Master角色定义
是团队的导师和组织者,与Product Owner紧密合作,及时为团队成员提供帮助。促使team按照scrum方式运行,为Scrum过程负责的人。
Scrum Master并非团队的领导(因为团队是自我组织的),而是一个负责屏蔽外界对开发团队干扰的角色。 Scrum Master是规则的执行者,他是Scrum团队中的服务型领导。
Scrum Master工作职责
确保scrum被理解和正确使用并使得Scrum的收益最大化。主要职责如下:
1、保证团队资源合理利用;
2、保证各个角色及职责良好协作;
3、解决团队开发中的障碍;
4、作为团队和团队外部的接口,协调解决沟通中的问题;
5、保证开发过程按计划进行,组织Scrum Planning Meetings(Sprint计划会议), Daily Stand-up Meeting(每日站会), Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)。
Scrum Master在团队中的作用
在junior团队中:主导和控制
在intermediate团队中:引导和教导
在Senior团队中:辅导和协助
一句话总结SM这个角色就是:教整个团队怎么做,如何估时,跟进每天进度,风险控制,定期总结,计划排定。
案例分享
某Team在Plan Meeting会议中,邀请了PO参加,但PO因会议时间冲突未能参加,在讨论Sprint Backlog的时候,因需求有变动,团队未完全按照product backlog上的优先级去拿,选好Sprint Backlog 后,Scrum master详细讲解了每一条Sprint Backlog应该如何拆分及理由,最后给出了每个task的评估工时。
问题一:PO未参加计划会
应与PO提前协商时间,若PO没有时间需调整时间,PO一定要参加;
问题二:未按已排定的优先级做
如果不按照product backlog上的优先级去拿需要和PO一起决定;
问题三:SM一个人完成需求拆分和工时评估
任务的拆分及工时的评估需要和团队共同确定,不是Scrum master一个人说了算。
在敏捷开发团队内部,PO和SM角色是非常重要的,基本决定了团队是否可以很好的执行敏捷开发这种模式,因此这两个角色一定都要十分熟悉敏捷开发的整个运转流程,带领和引导团队一步一步的往敏捷的方向迈进。很多时候PO和SM的不专业,很容易使团队偏离敏捷的模式,因此决定一个团队能否完全进入敏捷开发模式时,这两个角色很关键。