●要有丰富的项目管理经验,具有组织和协调能力,可以影响和带动团队。
●要有良好的沟通能力,具有亲和力,可以建立较为广泛的人脉。
●要对系统架构熟悉和了解,具有一定的掌控能力,可以分析合理使用技术框架来满足需求。
●要有一定的技术背景,并且有一定技术深度的研究,可以为需求提供合理的技术解决方案。
●Scrum起步初期,可以根据团队的情况,有针对性地应用Scrum的概念和技巧,有些可以精简,有些要灵活掌握。比如每天的三个问题(昨天做了什么?今天要做什么?有什么困难或者风险吗?)最初开始时经常由ScrumMaster发问,但是发现大家不太愿意回答,或者因为回答这几个问题开个短会,比较浪费时间。我们就思考用什么方法可以达到同样效果,因为我们的团队不发日报,这些信息对于ScrumMaster来说又特别重要,ScrumMaster就想了一个办法,每天在团队旺旺群里面主动地问大家这三个问题,我们更关注困难和风险问题,如果大家有问题就会回答我,然后我们再重点跟进。
●可以将Scrum团队成员安排在一起办公,最好围一个圈,或者座位距离不太远,抬头就能看见,可以直接沟通的距离比较好,以提升沟通和研发效率。
●Scrum Meeting对于每个Sprint的运转来说非常重要,在Scrum Meeting开始之前,ScrumMaster要做好充分的准备工作。比如从Product BackLog中根据团队资源情况(开发和测试资源),按照一定的规则(优先级,重要、紧急程度等)选择预定范围的需求列表,准备好相关的需求和技术方案文档;很重要的一点就是要跟测试负责人进行有效的沟通,了解可以支配测试资源量的上限,做到心中有数。
●Scrum Meeting中,每个需求的开发可以鼓励大家自己争取或选择自己感兴趣的去做,需求的工作量评估让团队成员自己来评估,测试资源由相关测试同事自己评估,但可以提供一个预估工作量供参考。开发和测试资源的评估最小单位为0.25人日,一旦这个Sprint开发和测试资源占满,就不会再安排需求进来。ScrumMaster个人经验是每个迭代一般会预留0.5个开发和测试资源,作为预留,用于紧急需求的插入或者一些突发情况。
●每个Sprint迭代,建议安排业务驱动和技术驱动相结合的需求,这样做的好处有团队成员不用经常做业务开发,时间久了,会产生疲劳感,经常在业务和技术驱动需求间轮换,提升成员的积极性和兴趣。还有重要的一点就是,技术驱动的需求中有一些是重要但不紧急的,在紧急需求插入或者出现突发情况资源紧张(比如成员生病、休假)的情况下,根据业务驱动需求优先的原则,可以先砍掉技术驱动的需求,来保证Sprint迭代按期顺利完成。