目前我所在的研发团队采用敏捷开发流程(Agile Process or Scrum),我当前担任QA Engineer 和Scrum Master,团队总共10个人,我们每个迭代周期(Sprint)是2周。我每天除了要完成自己的本职工作测试任务以外,还要协调整个团队运行敏捷流程,推动研发项目的顺利开展。
具体了解Scrum请参考https://www.scrum.org/resources/what-is-scrum
我们团队从2013年年初开始采用Scrum 当时的Scrum Team还有Developer(SWD),Product Design(PD),Product Manager(PM)等角色,2016年我们开始增加了Product Owner(PO), 由当时的PD兼任。2017年我在Scrum Team兼职Product Owner(PO),当年取得了CSPO的认证,2018年开始兼职Scrum Master(SM),当年取得了CSM的认证。
SM其中一个重要职责就是组织协调和主持团队内部每天各种大大小小的会议,那么我们团队内部都有哪些会议呢?
1.每天的Daily Standup Meeting
每个成员都要更新一下昨天做了什么,碰到了什么问题,接下来要做什么,这样每个同事都知道彼此的进展状况。理想的会议时间是10-15分钟结束。
2. 每个Sprint的Grooming Meeting
对于即将要做的User Story,PO会给每个开发做详细的介绍,Dev会集中讨论技术实现的难易程度,所有成员会给出一个Story Point,方便后续Planning Meeting安排任务
3. 每个Sprint的Planning Meeting
下一个Sprint我们预先排好哪些任务进来,并指定给某个成员,保证每个成员的任务饱满
4. 每个Sprint的Retrospective Meeting
回顾一下团队在刚刚结束的Sprint中,哪些做的好的,哪些做的还不够完善的,接下来的几个Sprint就会针对这些不够完善的部分进行改进。
四个例会,除了#2由PO主持外,其它三个会议都是由SM主持。在会议上,我会根据大家的汇报和讨论在我们的项目管理软件上及时更新和记录会议结果。
每个Sprint结束后,SM还需要给整个部门全球同事发送Sprint Report,两周一次。主要是汇报下项目这两周的进展和成果展示。
除了团队内部的会议外,SM还需要代表整个团队参加外面的会议。
- 每周跟中国(Sr. Manager,Project Manager)和美国(Director)领导们汇报项目进展的例会。
- 不定期会参加公司内部的各种大大小小的敏捷活动,主要目的是学习和分享,学习其它团队先进的项目管理方法,也会把团队好的方法分享给其它团队。
我理解的SM角色就是一个服务人员,我需要跟PO,Team Manager确定合适的时间,然后及时预定办公室的会议室。由于上述会议都是固定时间的循环会议,所以每次保证在同一个会议室会更方便同事记住。但是大的会议室往往比较抢手,有时候经常会碰到某些日期有冲突,我就需要更改这些日期到其它空闲会议室,对于这些日期,开会前我需要提醒同事们换会议室,不然他们就会走错会议室。
开会我会带着笔记本电脑先去会议室连接好各种设备(投影仪或者大屏幕等),因为研发人员太容易聚精会神的钻研某行代码,所以我起身开会经过同事座位都会提醒一下开会时间到了。结束会议后,我又会关闭各项设备电源,物归原位,最后一个离开会议室。
我们的会议室预定系统只允许预定6个月以内的会议,于是过了6个月后就需要及时重新预定会议室。
碰到节假日或者临时有其它会议冲突,我也需要及时调整会议时间,总之,尽量方便所有人都能参加会议。
因为种种原因,之前我们团队的Daily Standup Meeting都安排在每天下午的4点左右,大家说中文,基本上每次都要将近半个小时才结束会议,有时候很容易几个成员热烈讨论技术问题,虽然不断提醒,但难免有时候还是忘记。因为团队新增加了1名美国西海岸的同事,这个月开始每天时间改在上午10点半,大家说英语,带来的好处就是基本上每次都是15分钟左右结束会议,每个人言简意赅的更新下自己的任务状态。作为Scrum Master,没想到改成英语后还有这么好的效果。而且改成上午后,午饭后持续工作时间增加,可以更加投入的工作,我自己也感觉效果更好点。
以上就是我担任SM后对于开会的一些心得体会。