在Scrum敏捷开发中有三种主要的角色:
Product Owner(产品负责人,简称"PO");
Scrum Master(敏捷教练);
Team(团队)。
其中,Scrum Master是其重要的角色之一。那么今天我们就来探讨一下如何做一个合格的Scrum Master。
Scrum Master在许多的项目开发中被视为项目经理,这其实是个误区。同时我也经常看到有人主张将Scrum Master与项目经理完全区分,对于此我也不太同意。在我看来Scrum Master虽然并非项目经理,但是仍然肩负着很多项目经理的职能。那么Scrum Master的职责究竟是什么呢?该怎样做才能成为一名合格的Scrum Master呢?
1.管理Scrum流程
维护每个sprint的流程,确保每个sprint能够顺利的实施以及完成。
帮助PO建立product backlog与sprint backlog,并确立其中每个story的优先级。
帮助Team清除在开发的过程中遇到的障碍,建立block list用来记录Team在开发中遇到的问题障碍。
2.保护团队
最大限度的保护Team,以确保Team不会被外界干扰
安排合理的工作量来使团队达到最大的工作效率,同时不会伤害Team的积极能动性
3.有效沟通
面向领导:定期及时的通报项目的状态与进展,遇到问题,应及时上报,使得问题在出现时就能得到重视。
面向Team:
应以身作则,态度端正
充分了解Team中每个成员的能力状况,防止出现工作量盲目承诺的问题
通过daily scrum meeting让Team中每个人都能明确了解最新的进展与形势
4.把关质量
Scrum流程在每个sprint应统一完整,使得Team形成习惯,最终达到良好的开发节奏。
制定coding style,并坚持代码审查。代码的规范非常重要,好的代码可以提高整体团队的开发与沟通的效率。
持续集成,以便频繁获取反馈。
5.跟踪进度
通过daily scrum meeting获取到Team每天的工作进展。根据进展进行一些必要的调整。
放权。敏捷开发的其中的一个重要的特征就是团队自组织。团队自组织的优势就在于,通过放权给团队,让它们自主的思考,设计开发,不对其干预,从而使得团队中每个人具有成就感,进而提高整个团队的积极能动性。
打造学习型团队。坚持每周五的技术分享会,踩坑后及时记录并分享。