读《Scrum敏捷软件开发》笔记
目录
第I部分 启动
第1章 为什么敏捷转型难(但值得)
1、为什么转型困难
没有面向对公司所有部门展开、高层担心影响组织架构、自己的权威,不推行、没有进行持续改进。
1)、成功的变革不是完全的自上而下或者自下而上:
自上而下要求、支持,自下而上承诺,执行。成功实践Scrum 的关键在于结合自上而下和自下而上的变革相关要素。
2)、结束状态是不可预知的:
有机会改变或制定一个过程,使其更适合其本身,是团队成功实施其过程的关键因素。没有一个方法模型是完全适合你的组织的,需要对其进行调整,而结束状态是无法预知,因为这是一个终点的过程,需要持续改进。
3)、Scrum是无处不在的
4)、Scrum是截然不同的
过渡到Scrum要求人们使用它们不熟悉的方式来工作,有悖于他们的培训和经验,所以如果不是彻底抗拒变革,人们往往会犹豫不决。
5)、变化来得比以往更快:
过渡到Scrum屡屡成为将人们推向未来冲击(future shock)的变革就不足为奇了。实施Scrum无处不在的天性和导致人们工作和交互方式根本性变化,更容易面临触发未来冲击效应的风险。
6)、最佳实践是危险的:
“有一些事情称之为标准工作,但是标准是在不断变化的。相反,如果你认为这些标准工作对你来说已经是最好的,那么一切都结束了” 。 “如果我们把一些事情作为最好的可能方法,那么对于精益【持续增量的改善】的动力就消失了”。
2、为什么值得投入
1)、更高的生产力及更低的成本
2)、员工的参与度和工作满意度增强
3)、更快的产品上市时间
4)、更高的质量
5)、项目干系人的满意度提升
6)、现在的做法不再有效
第2章 ADAPT模型
成功、持续实施Scrum必备的5个活动:
1、意识(Awareness):当前的过程已不能实现可接受的结果。
2、渴望(Desire):把实施Scrum作为一种方法来解决当前的问题。
3、能力(Ability):有能力成功实施Scrum。
4、推广(Promotion):通过分享经验来推广Scrum,从而让我们记住并能让其他人也能看到我们的成功。
5、传递(Transfer ):把实施Scrum带来的影响扩大到整个公司。
意识:
变革始于不满足现状的意识。
意识开发工具:1)、通过沟通,说明问题的存在。2)、使用度量数据3)、接触新的人与经验4)、运行一个试点项目5)、关注最重要的变革理由。
渴望:
对一个人来说,时机不对,你就无法说服他们。好消息是,相同的消息、相同的传递方式,但在不同的时间,常常足以让一个人从有意识转变到渴望变革。
渴望提升工具:
1)、告诉人们有更好的方法2)、创造一种紧迫感3)、造势:把时间和精力集中于帮助热衷于Scrum 的人,而不是对Scrum意愿低下或持有异议的人。4)、让团队“试驾Scrum”5)、统一激励机制(或至少消除不利因素)6)、聚焦恐惧的消除7)、帮助人们学会放手8)、不诋毁过去。9)、努力让员工参与。
能力:
1)、学习新的技术、技能。2)、学会用团队的方式思考和工作:这是大家的工作,营造一个共同负责的思想倾向,这对许多团队成员来说也是新事物。3)、学会在一个短的时间箱内造出可以工作的软件:避免无谓的交接。
能力开发工具:
1)、提供辅导和培训。2)、赋予个体责任。3)、共享信息4)、设置合理的目标5)、立即行动
推广:
推广有三个目标。第一,为接下来的ADAPT周期传递好基础。通过宣传现在的成功,会对创造新一轮的改善意识有一个跳跃性的开始。第二,通过传播其他团队获得成功的一些好消息,加强现有团队的敏捷行为,第三,在直接参与Scrum实施的群体之外创造敏捷意识和兴趣。
不要为变革的过程命名。寻找一个无名转型过程的好处在于你很难去反对一个叫不上名字的东西。
Scrum推广工具:
1)、讲述成功故事:成功的变革在于鼓励员工立足于成功,而不是让他们去解决问题。推广Scrum 转型的最佳方式是,口耳相传。2)、开一个“敏捷野生动物园”:“人们不会真正相信新的事物,除非他们亲身经历过”。3)、吸引注意力和兴趣
传递:
“企业重力”的来源
1)、人力资源2)、后勤3)、市场营销4)、财务
承前启后
小团队试点,还是全面转型
1、选择小团队试点的原因
1)、小团队试点成本低:假如你不知道自己在做什么,请不要在大范围内进行。
2)、几乎可以确保早期的成功
3)、小团队试点规避了全面转型的巨大风险。
4)、小试点压力更小
5)、小团队试点能在不发生企业变革的情况下进行。
2、选择全面转型的原因
1)、全面转型可以减少阻力:破釜沉舟,这种针对变革的有形的承诺有助于改革成功进行。
2)、它避免了因Scrum和传统的团队一起工作而导致的问题。
3)、全面转型可以使转型更快结束:企业敏捷转型永远不会“完成”,要持续第进行改善是本书核心宗旨之一,但是总有一个时刻,员工可以回顾过去,然后说:转型过程最糟糕的日子已经成为历史。全面转型的公司能更快抵达这一时刻。
3、全面转型和小团队试点之间选择
选择小团队试点:1)、当公司的领导不愿意完全承诺实施Scrum时;2)、如果转型失败的代价太大时;3)、如果起亚迫切希望看到Scrum带来的好处时。
选择全面转型:1)、时间是关键时;2)、要向少数批判者和干系人明确表示会将Scrum坚持到底时。注意:如果没有足够经验丰富的ScrumMaster来指导每个团队,请不要使用全面转型。ScrumMaster来自企业外部还是内部,在短期内无关紧要,但最终,一定要让所有的ScrumMaster都是内部的员工。3)、团队规模比较小时(10人);
4、公开敏捷,还是瞧瞧行动
5、选择公开展示敏捷的原因
1)、所有人都知道你在做敏捷,所以你更容易坚持下去。
2)、公开展示建立了工作的目标愿景
3)、公开操作是对承诺的鉴定声明
4)、公开展示可以争取企业的支持
5)、明确目标、然后实现,这样更具有说服力:说出你要做什么,然后做到,比达到目标后再宣传目标更具有说服力。
6、选择悄悄行动的原因
1)、有机会在别人反对之前取得进展
2)、悄悄转型避免了额外的压力
3)、没有人知道,知道你告诉他们
4)、如果没有人知道你在使用Scrum,就不会有人阻止你。
从公开展示和悄悄行动中做出选择
选择公开展开:1、对Scrum充满信心,并对转型做出承诺时/2、如果你预计会有一些阻碍,三世你想快速战胜它们时。选择悄悄行动:1、你只想对完成的Scrum或其中一部分做实验时;2、如果没有行政上有影响力声张“我们在实施Scrum”或者这样做会带来非常多的障碍时。
7、Scrum的推广模式
8、先拆分后播种
9、先成长后拆分
10、内部教练
11、优先选择先拆分后播种模式的原因
特点:快速传播
12、选择先成长后拆分模式的原因
1)、不破坏现有的任何团队,团队一直在一起,知道它足够强大,可以拆分成为两完整的团队,每个团队都有敏捷经验。2)、团队成员可以待在一起的时间更长,被分裂的感觉更小。
13、选择内部教练模式的原因
1)、不必拆分优秀团队
2)、为新的团队人工选择教练
3)、教练可以从一个团队转到另一个团队。
14选择自己的方式
选择内部教练模式:
1)、当队伍庞大,以至于不能依靠团队自身全面推广良好实践的时候;
2)、当拆分团队对项目来说不切实际的时候;
3)、当你有足够的内部教练或可以引入外界帮助的时候。
15、引入新的技术实践
16、马上开始的原因
1)、可能有非常快的改进。
2)、如果团队不尽早尝试新的技术实践,他们有可能永远不会尝试。
3)、它也许能解决项目最紧迫的问题。
17、推迟尝新的原因
1)、一些实践可能会遭到强烈的抵制
2)、团队成员也许已经忙得不可开交
第4章 渐进敏捷
1、改进Backlog
IBM开始实施Scrum时,它的改进Backlog包括下列事项:
1)、增加使用Scrum的团队的数量
2)、增加对自动化测试的使用
3)、使团队如何确保每个团队都能有一名产品负责人(product owner)
4)、确定怎么样度量实施Scrum的影响
5)、增加对单元测试和测试驱动开发的使用
2、企业转型社区
发起、鼓励与支持企业引入和改进Scrum的小组被称为企业转型社区或ETC(Enterprise Transition Community)。ETC的成员通常不超过12人,他们来自参与Scrum转型的最高级别人员。
3、ETC的Sprint:
ETC Sprint的长度取决于ETC成员。最好是两周。
发起人和产品负责人:
1)、发起人是企业中负责成功转型的资深人士。
2)、转型发起人应该来自企业正在计划实施转型的部门级别。
3)、发起人是ETC的产品负责人
4)、有一点至关重要——发起人通过参与ETC来展现他对转型工作的承诺。“如果发起人只是支票簿式的参与,是Scrum实施失败的最可能的原因,敏捷实施需要一位激情四射的发起人热情投入,做出艰难的企业变革,从而服务于敏捷团队和成功结果”。
4、ETC的职责:
1)、清楚表达背景:为什么?为什么是现在?为什么用Scrum?
2)、鼓励对话
3)、提供资源:时间、精力和金钱
4)、设置合适的目标
5)、人人参与
6)、预料和处理人们的问题
7)、预计和消除障碍
8)、鼓励对实践和原则的同时关注
5、改进社区
改进社区 improvement community,IC由这样一群人组成——他们聚集在一起,协作工作,以便改进企业中Scrum的使用。ETC最大的目标是创造一个环境,让改进社区确认自己的目标,并自发地组织起来达成目标。
6、改进的催化剂:
社区被融入实施和熟练应用Scrum时,便成为改进的催化剂。
最高效的社区的形成,通常不是为了响应管理层的指示,而是公司文化或者ETC创造出来的一种氛围,促使社区自发形成。当然不是所有社区都以这样自发的方式组建。特别在开始Scrum的前几周或几月,ETC需要鼓励改进社区的成立,具体做法是强调某个目标的重要性,然后表达围绕该目标成立社区的期望。
7、有效性的两个度量指标:
1)、非ETC直接要求组建的社区的数量;
2)、这类改进社区在整个改进社区中所占的比例。
8、改进社区Sprint:
改进社区的存在不是为了服务于ETC,它是为了服务于客户:创建产品或者系统的Scrum开发团队。
9、关注实际相关的目标:
改进社区要想具有最大的影响力,其成员必须关注于与已经使用Scrum或尝试开始使用Scrum的开发团队有着直接和实际相关的目标。
10、改进社区的成员:
第5章 试点项目
1、选择试点项目
2、理想试点项目的四个属性
1)、持续时间:3-4个月的周期项目,可以给项目团队足够时间在Sprint中开始很好地工作,看到Scrum给他们和项目带来的好处。
2)、规模:请尽量选择只有一个团队的项目作为开始,并保持团队成员都做在一起。这样可以节省沟通成本。
3)、重要性:选不要从边缘的、不重要的、所谓学习性的试点项目开始,而必须从对公司绝对关键的项目开始,否则很难实施Scrum比虚的所有那些难点。
4)、发起人的保证。实施Scrum不仅仅需要开发等式中技术一方发生变化,还需要商业上的变化。
3、选择适合的时机启动项目
4、濒临失败的项目:处于挣扎中的项目别无选择,必须改变,如能交付,那么就视为成功。通过在短小Sprint方式下工作而形成的关注度和强度,以及强调每个Sprint都至少需要一些进步,Scrum往往非常适合这种类型的项目,尤其是在团队在有经验的ScrumMaster或咨询师的帮助时。
5、选择试点项目团队
创建下列人员:
1)、Scrum说客。
2)、积极的乐观者。
3)、公正的怀疑论者。
6、试点项目不成功会怎样:
1)、多做几个试点。并牢记试点项目的意图是阐明Scrum项目遵循的方式。
2)、和约定的期望相悖。要和干系人沟通清楚,承担应负的责任,确保干系人明白,虽然试点项目无法达到所有的期望,但从事后看,项目已经做到或甚至超过实际应有的期望。
3)、不要与设想中运行非常完美的顺序式(瀑布式)项目进行比较。不要用实际项目和虚拟项目作对比。
7、设定和管理期望:
期望管理对任何项目全面成功的重要性,再实施Scrum这样的某个大转型开始时,设定和管理期望可能更重要,在启动项Scrum转型的过程中,我发现从4个方面来设定和管理期望很有帮助,分别是进度、可预测性、对Scrum的态度和参与程度。
8、关于进度的期望
团队是否具有更高的生产效率,很多程度上取决于该团队在实施Scrum之前进展如何。
两种情况几乎使用于所有刚刚开始的团队:
1)、大部分团队都会过高估计他们在第一个Sprint能取得的成绩:他们往往会低估其他占用他们时间的需求,造成他们完成的工作少于预期。
2)、大部分团队可以更有用:各个Sprint关注的是“在接下来的某某星期,我们能做什么。”Scrum团队更有可能去找一个足够好的解决方案,尝试它,学习并根据需要作出改变。
9、关于可预测性的期望:
喜欢用速率(velocity)来衡量项目进展。
10、关于对Scrum态度的期望:“让大家认识到变化正在进行并开始适应它相对容易一些,真正困难的是在变化行动举步维艰的时候让大家咬牙坚持”。
11、关于参与程度的期望
在Sprint或Sprint评审期间,务必于希望得到其输入和反馈的产品负责人和其他干系人讨论对他们的期望,务必让每个干系人都知道团队期望和需要他们做出任何程度的承诺。
<