第一次了解ShineScrum是在2014敏捷之旅上海站的活动上。ShineScrum作为一家专业的Scrum敏捷培训咨询机构对敏捷之旅的活动提供了赞助。于是便报名了ShineScrum组织的CSM培训的课程,收获颇丰。
第一次了解Scrum的名词也是两三年前的事情了,但是自己就职的公司的软件开发模式要么是那种传统的开发模式,项目初期会由项目经理、开发团队、测试团队等一干相关人员编写大量的需求分档、设计文档、测试文档,然后开始编码实现的阶段,最后开始测试和fix bug;要么是声称是agile开发模式,PM带领中国和美国的开发和测试团队,按照所谓的sprint的周期来开发-测试。自己心里总是感觉这些开发模式和书上以及网上描述的Scrum有很大不同,但是又说不清楚,一直混混噩噩,直到参加了ShineScrum的为期两天的CSM培训。
通过这两天的培训,不仅对Scrum框架有了清晰的认识,也对如何将Scrum落地与现有管理方式进行融合有了一些答案。而且还认识了一些IT研发公司和IT咨询公司的朋友,这对于拓展自己的思维和眼界也是极有帮助的。
Day 1
为了避免第一天迟到,提前出发到达了培训的酒店,在会议室见到了一个老外静静地坐在教室的一个角落整理着自己的东西,在培训人员逐渐都到达以后,他站起来走到每个人面前进行了简单的自我介绍,语速很慢,吐字很清晰,非常的礼貌谦逊,他就是这两天培训的Srcum大师Arne Ahlander了。老师的态度让我这颗一开始还有些担心听不大懂的心一下子落下了。
培训开始,老师让大家都分别将自己对Scrum的一些问题写在小卡片上并分别贴在了墙上。目的是在培训最后对这些问题进行解答,但是由于我们这期的课程上学员比较活跃,课堂提问非常多,两天的培训内容都非常紧凑,最后都没有了解答这些卡片问题的时间,但是对我而言这已经没有必要了,因为我的问题都在课堂上得到了解答。
然后就让学员自由交流互相认识,学员里既有IT开发工程师也有一些IT咨询师,这些IT咨询师有的也是有多年软件开发的项目管理经验,但是对于Scrum了解并不多,所以特地参加了ShineScrum组织的课程。其中的一名来自台湾的IT咨询师在这两天的课程里给我们带来了很多欢乐,充分调动了课堂的氛围。其他一些IT公司的人员既有工作三四年的,也有工作十多年的,既有开发岗位的,也有测试岗位的。在这些学员里我竟然还碰到了一名来自我的前东家公司的员工,这不禁有让我回想起我离开公司时,公司内部刚开始热火朝天地推广着敏捷开发,我当年就与Scrum擦肩而过,唏嘘不已。
课程正式开始之后,讲师并没有采用PPT幻灯片的方式进行授课,而是采用了板书的方式,这种风格一直保留到两天的课程结束。首先从整体的角度介绍了Scrum框架、四大支柱、三大角色以及价值观。在讲解Scrum价值观的时候,讲师让我们每个小组用图画的形式将价值观里面的承诺、专注、开放、尊重和勇气表现出来。于是我们分别用婚戒、眼睛、打开的门、合十的双手以及心来表示,这样我们一下子就将它们都记住了。
在进一步讲解Scrum框架的时候,讲师又提供了个工具(Build your own Scrum)来让大家按照自己的理解将Scrum的各项内容要素进行连接起来,并在最后由讲师来进行点评分析。
时间不知不觉中就到了中午,吃饭就是酒店提供的自助餐,有中西餐以及各种小点心和饮料,味道都很不错,只不过自己身体有些不舒服,只能是品尝一点而已, 这对于一个喜欢美食的人是一件多么痛苦的事情呢。
吃完午饭回到会议室休息,但是学员们也还是热情不减,互相交流着自己的理解和收获。我便提议大家加到一个微信群中,结果大家纷纷响应。等到第二天中文助教Jim建议大家加入微信群的时候,我们都开心的说,我们早就自己建了微信群了,我们已经实现“自组织”了。
经过中午的简单休息,下午的课程继续详细介绍了Scrum master,PO以及开发团队这几个角色,并且将SM、PO的角色与现在许多公司的PM的角色进行了比较,最后通过两个游戏环节,将SM和PO的一些工作内容的卡片发给各组,由各组学员自己将这些卡片按照工作的优先级进行排列,进一步强化了大家对这些角色的职责和工作内容的认识。
在后面介绍backlog内容的时候,同时列出了user story、use case、requirement、feature这几项,并对user story进行了专门的介绍。这也消除了我心中一直存在的一个疑问:scrum中的backlog和公司内部使用的use story之间有什么关系。Backlog 只是待办事项,user story和use case 都不过是以不同的形式将其表示出来而已,而且它们也都有自己不同的应用场景,user story倾向于以用户角色的角度来对要完成的功能来记性描述。
Day 2
第二天的培训,继续介绍了Scrum的四大会议,课堂上大家对review meeting和retrospective meeting的参与者和主题的疑问比较多,讲师也耐心的给大家进行了详细的讲解。
随后还介绍了DoD(definition of done),通过该内容的讲解,也让我对后期验收测试与前期开发之间的联系以及测试与Scrum的关系有了清晰的认识。
然后老师对昨天没有讲完的PBL的内容进行了介绍,对定义PBL、PBI的一些要求进行了介绍,并给出了非常具有操作性的建议。
最后讲师给我们回顾了Scrum和敏捷的起源和历史,通过这些知识有助于我们理解Scrum的产生背景和价值。
其中有一个游戏环节让大家体验同一时间做单一职责的重要性。大家围成一个圈,然后从某个同学开始从1开始用英文报数,如果所要报的数是以3结尾则不能报数,而是要拍手;如果所要报的数能被3整除也是不能报数,而是只能拍手。大家基本上都很快就会出错,当大家恳请用中文玩这个游戏的时候,讲师很幽默的说,这样他就不能监督和确定大家的报数是否正确了。
在主要的培训完成以后,我们又花了一个小时的时间完成了一个Scrum模拟项目,可选项目分别是新开业酒店的宣传册、婚礼策划呢资料手册、火星人访问地球-游客资料手册。我们小组挑战性地选择了需求分析和实现都非常困难的火星人访问地球游客资料手册。我们按照Scrum框架的流程完成了一个sprint的各项活动:计划会议、每日立会、评审会议、回顾会议。我们最终和PO以及SM一起完成了一本简易的游客手册。在最后,培训老师对我们在这过程中出现的一些不好的表现不符合Scrum框架的行为进行了点评,让我们在以后的工作中进行Scrum实践的推广和落地有很好的帮助。
两天的培训下来,自己的头脑和思维仿佛经历了一次洗礼。自己做任职的部门的许多同事都是PMP,可是Scrum的专家却少之又少,对Scrum的理解都是比较浅显的。我以后要将Scrum的一些理念尝试着做一些推广。
知易行难,Scrum的实践之路还很漫长,希望以后能有机会继续得到ShineScrum的指点。
—— 学员:李哲