《Scrum精髓》读后感

因为今年刚接触到敏捷开发,7月份临时指派为“敏捷教练”带领团队。临阵磨枪,培训了两天Scrum的基础知识就上岗了。期初培训的时候,觉得Scrum其实挺简单的,就是那点东西,挺好掌握的,但是当理论被运用的实际的过程中去的时候,被现实狠狠的打了好几个大巴掌,好多实际问题的解决,我是毫无头绪的,所以只好找相关理论知识方面的书,充实一下自己。看大家有推荐这本的,据说是一本入门级的书,所以拿来看看。用了将近2个月把这本书读完,下面根据我的理解将本书的内容和我的一下感想总结如下。
整体来说,这是一本入门级的图书,对于像我这种之前完全没了解过敏捷相关理论知识的人也是能够看懂的,尤其是里面的例子,是很容易理解的,所以比较推荐给敏捷教练入门级人员使用。就我本身而言 ,这本书对我的实际应用是:1)在编写总结报告PPT的时候会借鉴里面的一些理论知识,提供一些理论的依据2)对于实际冲刺中每个会议的输入、内容及输出,这本书讲解的很是详细。在实际敏捷中也可以作为参考3)还有对每个角色的介绍部分,也是比较简洁明了的,对每个角色职责特性也描述的比较详细。对我来说,其组织规划部分内容对我来说实际作用比较小,他涉及到了一个企业或一个项目的长远战略规划,对我来时算是一个知识的拓展吧。
一、本书的框架 作者把本书分为4个部分,分别是核心概念、Scrum角色、规划及冲刺回顾。其实核心概念、Scrum角色和冲刺回顾讲解的应该都是Scrum的框架,而规划是站在冲刺之上几个层级的规划,该部分讲解了怎么从不同的层面开展和落实敏捷的价值观。使得整个项目/企业“自上而下”的施行敏捷开发。
本书的整体框架我会整理出来放在附件上进行展示。


组织规划的层级关系:
战略规划:本书中未详细说明

组合规划:用来确认完成什么产品、按什么顺序完成以及持续多上时间

产品规划(构想):获取潜在产品的基本特性并未创建该产品而定制大致计划。关键词:愿景、概要产品列表、产品路线图(版本路线图)

版本规划:针对增量交付取得范围、日期和预算之间的平衡。关联时间维度,用完成该版本所需的冲刺数表达。

冲刺规划:对Scrum团队在下一个迭代中做哪些PBI达成一致意见。建立冲刺目标及王城PBI任务级工作。

每日规划:体现在团队每日站会上。
就我个人而言,接触到实际情况来看,重点是放在了冲刺中。设计到组合规划和版本规划的地方比较上,相较而言我觉得组合规划、产品规划和版本规划曾是接触的比较多的应该是产品负责人(PO)。所以我的感想都是在比较低的层级展开的,也是我知识有限的原因吧。
二、本书的内容 1、什么是Scrum? Scrum是一种用于开发创新产品和服务的敏捷方式。其建立在实验主义理论基础之上,实验主义的三大特性(透明、适应和检视)。开发团队以结对方式组合起来的小团队形式,在短时间(固定周期)内交付高价值的潜在产品增量。
Scrum处理的问题领域:复杂域
【《Scrum精髓》读后感】Scrum好处(相较于传统的瀑布模型):提升客户满意度、投资回报率、成本降低、迅速取得成果、有信心在复杂世界中取得成功、更加愉快。(PS:这部分内容可以作为汇报PPT的成果参考)
2、Scrum框架(3-3-5-5) 3种角色(产品负责人、ScrumMaster和开发团队)
产品负责人(Product Owner): 最直接的价值是产品列表的直接负责人,负责定义产品的特性及给产品排优先级。第二产品负责人必须很好的理解组织中利益干系人、客户和用户需求,充当用户的代言人。对每个迭代交付的需求进行评审确定开发的产品增量是否满足客户确定。担任:一般由可以使客户方、技术leader和开发人员都可以。当时现实中一般是由产品经理担任。
实际过程中,需要领导放权给产品负责人,让其拥有财权,说话沟通才能更有权威心。
SrcumMaster(敏捷教练): 一个人,负责帮助每个人理解并乐于接受Scrum的价值观、原则和时间之人。对开发团队和产品经理来说是教练的职责,也要履行过程领导的职责,帮助scrum团队和组织其他成员发展具有组织特色的、高效scrum方法。职责:教练(观察团队使用Srcum的过程,全力帮助团队达到更高的级别工作效能)、服务型领导(确保能满足团队最高优先级需求)、“保护伞”(免受外部干扰,可以集中精力在每个冲刺交付义务价值)、过程权威(帮助团队定义并遵守自己的流程,从而确保工作完成)、“清道夫”(清扫妨碍团队生产效率的一切障碍,当团队自己搞不定的时候)、“变革代言人”(帮助大家转变思维,确保组织的各个层面都发生有效的变革,不仅能促成短期成功,而且更重要的是通过使用Scrum得到长远的收益)。担任:产品经理、开发、测试活其他又技术背景的人。一般是女性。
实际过程中,该职位的担任着应该具备一定的技术背景,因为在迭代过程中你会遇到很多的潜在风险和问题。这需要你有一定的经验做到提前识别风险和当问题出现的时候能拿出具体解决办法,同时也你要有很好的沟通能力,需要跟开发和客户代表有一个很好的沟通。这些都是很考验一个人的。作为一个只有测试背景的假“敏捷教练”,个人认为真的很锻炼人,而且具有一定挑战性,感觉自己那点可怜的经验在实际应用中的作用是非常微小甚至可以说相当于“无”的。而且理论和实际真的差的很远,要学习的路还有很长很长。
开发团队(Team): ——真正干活的人,敏捷的灵魂所在一个跨职能的小团队(3-9人)。团队人员包括设计-构建-测试相关职能的人员。小团队比较灵活,可以快速的监视、调整自己,这也是与传统瀑布模型最不一样的地方吧。他们是冲刺产品待办列表(SprintBacklog)的负责人,负责在迭代结束时交付潜在可发布产品增量。特性/技能:自组织、跨职能、T型技能、火枪手态度、高带宽沟通(管饭)透明沟通、小团队、工作节奏、成员稳定。
实际过程中,培养团队的跨职能行是非常考验人的,按照传统的模式,每个人有自己负责的模块或渠道。你让它们突然加入到敏捷,然后去拓展自己的技能宽度(学习其他模块或着做测试),它们会具有逆反的心理,不愿意改变。其次,敏捷要求迭代按照故事优先级进行开发,开发完一个再开发一个,开发人员结对开发。但是实际过程中,这种情况实行起来是有困难的,一是人们不愿意去改变现状,二是因为工作压力比较大,没有多余时间学习其他模块的知识,导致它们的T型技能无法拓展。所以才会出现前3次迭代失败。这个需要领导的支持,要预留开发人员拓展自己技能的时间,慢慢的进行改进。
3种工件(产品待办列表、迭代代办列表和潜在可发布的产品增量)
产品列表(由产品代办事项组成Product Backlog Item): 一个按优先级排序的、预期产品功能列表。PBI类型:特性、变更、缺陷、技术改进和获取知识。特性:详略得当、涌现的、做过估算的、排列优先顺序的。由产品负责人决策,内部利益干系人可参与梳理。
迭代列表(Sprint Backlog): 开发团队开会承诺的从产品列表筛选出来的用于本次迭代交付的具有优先级故事(需求)。他是产品列表的进一步细化,由两部分组成,本次冲刺的目标+筛选出来拆分为更详细的任务(工时级别)的冲刺列表。
潜在的产品增量: 冲刺结束的时候开发人员提交的测试完成的产品增量,可直接发布。(产品增量是否发布由产品责任人决定)
本书中对迭代列表和可交付的潜在产品增量描述的比较少,我是就个人理解和结合书本来写的。此处落下了产品列表拆分为“故事”环节,以及拆分故事应该满足的5中特性INVEST
5种活动(冲刺、冲刺计划会议、每日站会、冲刺评审会议、冲刺回顾)
冲刺过程中涉及到的5种活动,应该说时4中。个人认为这是scrum的框架的主要体现,也是贯穿整本书的只要关键词(可能我用词不太得到)。每个会议或活动有各自的存在意义,一开始不太理解,在实际操作中才意识到他的好处,但是严格的按照流程执行的话,现实中也存在一定的困难,需要灵活的、随机应变的作出一定的调整。
冲刺: 在Scrum中,工作在不超过一个月的迭代或循环中进行,这个迭代或循环成为冲刺。每个冲刺完成的工作应当创建一类对客户来说具有明确价值的东西。由固定的开始和结束时间,冲刺的持续期也也是相等的。包括:冲刺规划、冲刺执行、每日理会、完成、冲刺评审、冲刺回顾。冲刺过程中的检视-调整活动:每日站会、冲刺评审、冲刺回顾、冲刺规划
冲刺计划会议(冲刺规划): Scrum团队对冲刺目标达成一致,开发团队确定与目标一致的具体各个PBI,同时确定能在冲刺结束之前交付。时间:每个冲刺开始前,一周冲刺对应2小时(迭代周期增常依次推理即可)。参与者: 产品负责人、ScrumMaster、开发团队。输入:产品列表、速率、团队生产能力、约束和初始冲刺目标。内容:确定生产能力、选择PBI、细化冲刺目标、获得信心、敲定承诺。输出:冲刺目标、冲刺订单。
每日站会: 关键的每日件事-调整活动,可以帮助团队以更快、更灵活的工作流完成解决方案。其目标是聚集想要达到冲刺目标的人,分享迭代进展的全貌,从集体的角度理解有多少工作要做、要开始还有助于消除等待。参与者:开发团队、PO 时间:同一时间同一地点15分钟之内的一个非正式会议。输入:冲刺列表 。内容:每日站会检视-调整开发进度。输出:潜在可上市产品增量。
冲刺评审会议: 重点是产品本身,使每个可以对产品开发工作提出建议的人有机会见识和调整当前构建的产品。让人们清楚看到产品当前的状态,包括让人头疼的真相。可以提问、发表见解或给出建议,讨论结合当前实际最好采取哪些措施。时间:每个从此快要结束时,在冲刺之后、冲刺回顾之前。(实际情况:一般在冲刺回顾第二天)。参与者:Scrum团队、内部利益干系人、其他内部利益干系人、外部利益干系人。流程:1、准备工作:确定参与者、安排日程、确认冲刺工作已完成、为演示做准备、确定谁来演示。2、方式(方法):总结或概要说明冲刺目标中哪些完成了、哪些没有完成;演示潜在可发布产品增量;讨论产品当前状态;调整产品未来产品。输入:冲刺目标、冲刺列表、潜在可交付产品增量。内容:概述、演示、调整、讨论 输出:经过梳理的产品列表、更新后的版本计划。
冲刺回顾会议: 重点是scrum团队检查产品的构建过程。停下急促的步伐,思考片刻。(很喜欢书中的这句话,特意抄下来了)。时间:冲刺结束的第二天,一周对应45分钟。参与者:Scrum团队全体、非Scrum团队中的利益干系人或经理。流程:1、准备工作:定义回顾重点(a.重点关注如何提高我们使用测试驱动(TDD)开发的技能b.重点关注真正的需求,搞清楚为什么我们做的并飞客户想要的)、选择练习活动、手机客观数据、安排回顾日程2、方式(方法):输入:重点、练习活动、客观数据、主观数据、见解列表。内容:营造氛围、共同背景、识别见解、确定措施、结束活动输出:改进措施、见解列表、更紧密的合作氛围。
本书中对于每种活动的作用目的、输入、产出给出明确的定义。作为一个新入门的人来说,具有非常重要的参考意义,起码在你能明白每个活动的实际意义所在,不是为了走SCRUM的流程而严格执行流程。之前任务只要ScrumMaster只要监督者开发团队按照敏捷的流程走就行了,当时认为冲刺也不过于此嘛,不明白每个不活动的实际意义所在,开完了这本书起码让自己认清了自己,还是井底之蛙,还要学习的理论的东西很多,把理论运用到实际生活中的东西更多。最常见的就是冲刺会议时,开发人员一片安静,不知如何是好的情况也是有的。
5种价值观(勇气、开放、承诺、专注和尊重)
勇气-勇于面对未知的问题,愿意尝试自己不熟悉的工作
开放-思想开放,不拘泥于已知的思维和做事方法,乐于分享自己 的成果,能够听取别人的意见
承诺-能够将团队的目标做为自己的目标进行承诺,对于承诺积极 实现,对于承诺而无法实现的结果能够承担责任
专注-专心自己当前的工作目标,不会被环境和中途发生的事情所打扰
尊重-像尊重自己一样尊重团队的其它成员
这部分是从别的地方摘抄过来的,本书中并未见到过关于价值观的描述,也可能我看的不太仔细,没有留意到。我能说在实际应用中,这些价值观是渗透到内部的,更多的是深入到思想的。而贯彻这种价值是需要时间积累的,不可能立马见效果的。
3、本书的其他信息 敏捷原则:
本书中用了很大篇幅来讲述这些原则,可以说这些原则是贯穿于各个层级、渗透到各个活动当中的。就我而言,实际中用到的部分更多的是在做做PPT用来体现和总结一张ppt的“专业术语”。敏捷原则分类:
1)可变性和不确定性:积极采用有帮助的可变性;采用迭代和增量开发;通过检视、调整、适应和透明来利用可变性。
2)预测和适应:不到最后时刻,不轻易决定;承认无法一开始就把事情做对;偏好适应性、探索式方法;用经济合理的方法接受变化;在预测型事前工作和适应型刚好及时的工作之间做平衡。
3)经验认知:快速验证重要的假设;利用多个认知循环并行的优势;组织工作流程已获得快速反馈
4)WIP:使用经济合理的批量大小;识别并管理库存以达到良好的流动;关注闲置工作(工作停滞,没人干),而非闲置人员(没活干);考虑延期成本
5)进度:适应实时的信息并重新定制计划;通过验证流动资产来测量进度;专注于以价值为中心的交付
6)执行:快速前进,但不匆忙;以质量为魂;选用最小、够用的方式
规划:
本书第三部分主要描述的各个层级的规划,从更大的范围描述怎么在更大范围或领域落实Scrum价值观,使得企业或项目自上而下的发生变革,而非仅仅是Scrum团队。这部分在实际应用中对我的影响不太大,所以没有单独拿出来进行详细的说明。相当于知识拓展吧,嘿嘿。这个部分重点讲解了构想层级(产品规划)的主要活动:愿景、概要产品列表、产品路线图。
技术债:
关于技术债这部分本书描述的也挺详细的。包括期分类、起因及后果。可能这部分对开发人员更友好,对我来说就相当于知识扩展了。
这本书的感想和相关内容就总结这么多了。第一次这么专业的读后感,有点虚,哈哈。挺推荐给Scrum入门级别的人来阅读。
ps:本读后感部分内容摘自本书。

    推荐阅读