2020第2本书
01 | 世界的运作方式已经打破
流畅:整个生产流程之内的各个环节应该做到无缝衔接、迅速流畅地接续下去,管理团队的一个重要任务就在于确定并消除生产流程中的障碍,任何障碍都是一种浪费。
Scrum是一种迭代式增量软件开发过程。所谓迭代,是指把一个复杂且开发周期很长的开发任务分解为很多短期可完成的任务,这样的一个周期就是一次迭代的过程;同时,每一次迭代都可以生产或开发出一款可以交付的产品。
02 | scrum的由来
管理者不会对他们大吼小叫,不会告诉研发人员该做什么以及如何开发一款产品,相反,管理者扮演着仆人和清道夫的角色,集中精力帮助研发人员清除前进道路上的障碍。
03 | 聚焦团队,而非个人
一、世界优秀公司最卓越团队具备的特质:
1. 超越寻常。他们具有希望超越寻常的目标。实现这种目标的动力促使他们超越寻常,达到卓越。他们下决心拒绝平庸,出类拔萃,这种决定改变了他们看待自己的方式,扩大了他们的能力范围。
2. 自主性。这种团队自我组织,自我管理,有能力决定如何开展工作,并获得了根据自己决定做事的授权。
3. 多功能。这些团队具备完成项目的所有技能:计划、设计、生产、销售、分销。具有这些技能的成员相互学习,相互提高。
二、让事实透明化
用彩色的图表列出哪些事作对了,哪些事做错了,把表格贴在出来,每个人每天都能看到。图表中没有惩罚和责怪,只是简单陈述评价。
三、设立scrum主管
scrum主管要确保整个工作流程的顺利推进。他的工作职责就是召集会议,确保团队运作过程的透明度,最重要的是,帮助团队发现障碍。Scrum主管的工作职责就是经常问团队成员:“你们如何才能做得更好?”这种方式可以引领整个团队持续改善自己的工作。
四、本章重点
1. 拉对控制杆。提升团队业绩,比提升个人业绩的影响大得多。
2. 超越个体。卓越团队的目标都超越个体的目标。
3. 自主决策。赋予团队自主决定如何做事的自由,尊重他们,让他们自由发挥专长。
4. 多功能。一个团队必须拥有一个项目所需的全部技能。
5. 团队小而精。团队最佳规模维持在7人左右,可以多两人,也可以少两人。宜少不宜多。
6. 指责他人是愚蠢之举。不要一味地寻找“坏人”, 而要找出“坏制度”,即那些激励不良行为、奖励拙劣业绩的制度。
04 | 以周期性的视角看待时间
一、冲刺
冲刺周期经常被称为“时间限制”。其时间跨度是固定的,必须具有一致性,你不能把一个周期设为一周,下一个周期却设为三周。必须设置固定的节奏,每个人都知道自己能在一个固定期限内完成多少工作。
对于每个冲刺周期而言,还有一个重要元素,即一旦一个团队决定要完成某些任务,那么这些任务就锁定了,团队之外的任何人都不能再给他们增加任务。干预和扰乱团队只会大幅放缓团队的工作进度。
二、每日站会
Scrum主管,会询问团队成员三个问题:1.你昨天做了什么去帮助团队完成冲刺?2.今天你打算做什么来帮助团队完成冲刺?3.什么因素阻碍了团队的前进之路?
规则1:每一天会议召开的时间是固定的,每个成员都要出席。如果有人不出席,沟通就进行不下去。一天中的任何时刻都可以,只要是在同一时刻就好,重点在于给团队一个固定的节奏。
规则2:开会时间不能超过15分钟。我们希望会议直截了当,直击重点。如果某件事情需要进一步讨论,那就先记录下来,在每日立会结束之后再做进一步讨论。之所以这么做,就是为了用最少的时间,讨论出最易于付诸实践的、最宝贵的信息。
规则3:每个人都要积极参与。为了达到这个效果,我说每个人开会时都要站起来,不要坐下。这样一来,就会促使每个人积极交流,持续倾听他人的看法。这样还有助于缩短会议时间。
05 | 浪费是一种犯罪
一次只做一件事
一次做一项简单的任务,而不是从一个环境转换到另一个环境,就能减少一半的时间。
半途而废等于没做
没有做完的工作和无人使用的产品是一件事情的两个方面,本质上是一样的:你付出了努力,最后却没有收获积极成果。不要这样做。
一次性把事情做好
处理问题的最佳时机是你发现问题的时候,而不是发现问题之后很久再着手解决。如果留到以后再纠正,就会多付出20多倍的时间。
工时越长,效率越低
当我们精力耗尽的时候,我们很容易做出荒谬的决定。这种现象被称为“自我损耗”,意思就是,做出任何选择都需要耗费一定的精力。这是一种奇怪的损耗,因为你感觉不到身体的疲惫,但做出良好决定的能力会下降。你的自我控制能力、自我约束能力、思考能力以及预见能力等都会趋于减弱。
Scrum方法要求参与者摒弃那种只衡量工时的思维,因为工时只代表着一种成本。相反,我们应该更多地关注产出。为什么要关注一个人用多久才完成一项任务呢?只要关注完成任务的速度和质量就足够了,这才是唯一重要的事情。
避免不合理现象
制定一些富有挑战性的目标,促使他们创造更多成果,但不能制定一些荒谬的、不切实际的目标。
不要依赖英雄
不要依赖某个“英雄人物”来完成任务,要相信团队。如果需要“英雄”去完成工作,那就说明管理方式有问题。“英雄”应该被视为规划的失败。
消除愚蠢的规定
规定过于烦琐,妨碍了工作;没必要的汇报导致员工为了填表而填表;没有意义的会议耗费了时间,却创造不出任何价值。
将令人生厌者踢出团队
不要成为这类人,也不要纵容这类行为。令人生厌者倾向于激怒别人,导致别人陷入狂躁,让别人感到恐惧和害怕,贬低或藐视他人,都应该被清理出团队。
06 | 务实规划,拒绝空想
计划扑克
每个人都有一副牌,上面印着斐波那契数列数字,也就是1、1、2、3、5、8、13等。每一个需要评估的事项都会被列出来,摆到桌面上。然后,人们根据事项的难度,抽出一张相应的扑克牌放到桌子上,但正面朝下。
接下来,听口令一起翻牌。如果数字之间相差的牌数不多于2张(比如一张5、两张8、一张13),只要把这几张牌的数字加起来,然后取一个平均值即可(就本例而言,平均值是8.5),然后继续探讨下一个事项。
如果翻开一看,数值之间相差的牌数达到了3张或更多,那么数值最大者与最小者就要谈一下自己为什么这么想。讨论结束后重新出牌和开牌。重复上述过程,直到结果比较接近。不这样做的话,也可以直接取一个平均值。
注意:我们正在讨论的内容是“评估”,而且是对于整个项目分解之后的小片段的评估,而不是固定不变的日程表。
不要盲目执行任务,要领会用户故事
员工的问题就在于没有得到足够的信息,而上司的问题在于没有为下属提供足够的信息。要知道,人们习惯于用情节、故事去思考问题。大家都是这样来理解世界的。我们比较容易掌握人物、欲望及动机等,当我们试图把个别片段从主线中剥离出来,脱离具体语境去理解它们时,就会出现问题。
用户故事三要素
第一个要素是角色,包括顾客、新娘、读者、员工等,这就要求我们思考:谁要使用这个功能?这项任务是为“谁”而做的?打造这样东西、做这项决策、提交这项成果,我们应该从谁的角度出发?
第二个要素是活动,要求我们思考我们要完成什么样的功能。这通常是我们的出发点,也是落脚点。
第三个要素是商业价值,或者说动机。要求我们思考客户为什么需要这个功能,以及这个功能如何才能给客户创造价值。从某种角度来看,这是最重要的一步。动机重于一切。
用户故事范例
客户希望能按照类别浏览书籍,以便轻松找到自己喜欢的那一类书。
客户希望能够先把书放进购物车里,以便在之后某个时间购买。
亚马逊的产品经理希望能追踪客户的购买记录,以便有的放矢地向客户推荐特定的书籍。
好的用户故事应该满足INVEST标准:
独立性(Independent)——尽可能让一个用户故事独立于其他的用户故事。用户故事之间的依赖使得制订计划、确定优先级和工作量评估都变得很困难。通常我们可以通过组合用户故事和分解用户故事来减少依赖性。
可协商性(Negotiable)——用户故事的内容要是可以协商的,用户故事不是合同。一张用户故事卡片上只是一个简短的描述,不包括太多的细节。具体的细节在沟通阶段提出。如果一张用户故事卡片带有太多的细节,实际上会限制和用户的沟通。
有价值(Valuable)——每个用户故事必须对客户具有价值。一个让用户故事有价值的好方法是让客户来写下它们。一旦一个客户意识到这是一个用户故事,并不是一个契约,而且可以进行协商的时候,他们将非常乐意写下故事。
可评估(Estimable)——开发团队需要衡量用户故事,以便确定优先级和工作量,并便于安排工作计划。
规模小(Small)——一个好的故事要尽量维持小规模,至少要确保在一个冲刺周期中能够完成。用户故事越大,在安排计划、工作量评估等方面的风险就会越大。
可测试(Testable)——一个用户故事要可以测试,以便确定它是可以完成的。如果一个用户故事不能够测试,那么你就无法知道它什么时候可以完成。
如何知道自己的速度
我们可以获取全部用户故事,也就是那些需要做的事情,而且我们已经对它们进行过评估了,比如,这个事项的难度相当于8,那个事项的难度相当于3,等等。接下来,我们就可以开始第一个冲刺了。
假定冲刺周期是一周。在这个冲刺阶段结束之际,我们可以把所有已完成的故事列出来,把这些用户故事的难度评分加到一起,最终的数字就告诉我们团队的进度是多少,或者说速度是多少。
得知速度之后,可以看看手边还有多少用户故事没有完成,看看这些用户故事的难度相当于多少分,然后你就知道什么时候可以完成了。一旦掌握了自己的速度,你就可以着手解决Scrum中最重要的事情:有没有什么因素妨碍速度更快呢?
大胆制定目标
运用scrum方法,要让产量翻一倍或者将交付时间缩短一半,并不是什么难事。
07 | 把快乐转化为更高的绩效
快乐便是成功
人们并不是因为成功而快乐,而是因为快乐而成功。快乐是一个预测指标,即便人们仅仅比原来快乐一点点,绩效也会有所改善。快乐增加得越多,效果也就越大。
一点小动作就能创造大效应。Scrum正是聚焦在这些小事情上,有系统地把它们打造为一座用于构筑成功的架构,一次只做一件事,就能改变世界。
量化快乐
所谓持续改善,并不是让生产效率达到某个水平并维持在那里,而是不断地审视你的流程,以便不断地、永恒地加以改善。当然,永远不可能达到完美无瑕的地步,但朝着这个方向迈出的每一步都是重要的。
要让这个冲刺回顾过程有效,团队需要具有相互信任的氛围。必须记住关键的一点,即大家不要从团队中找一个人当成责备的对象,而是要将注意力集中在流程上,认真分析以下几个问题:为什么会发生那件事?为什么我们当时忽略了?怎样才能加快工作进度?作为一个团队,大家要对自己的流程和结果负责,要集思广益,共同寻求问题解决之道。这一点是至关重要的。与此同时,团队必须有勇气把真正的障碍摆到台面上来,这样做是为了解决问题,而不是为了指责某个成员。团队成员必须能认真探讨问题,并虚心接受他人反馈的意见和建议,以便寻求问题解决之道,而非只想着为自己辩解。
下面是具体的操作方式。在每个冲刺阶段结束时,每个团队成员都要回答以下几个问题:
1.你对自己在公司的角色感觉如何?请以1~5分加以评价。
2.你对公司整体情况感觉如何?请以1~5分加以评价。
3.为什么会有这种感受?
4.在下一个冲刺阶段中,什么事情会让你感到更快乐?
团队确定一个最值得改善的地方,将其设定为下一个冲刺阶段的首要任务,当然,改善的结果必须通过“验收测试”。
提升团队运作的透明度
哪些因素会让人感到快乐呢?其实,让人感到快乐的因素,恰恰也是缔造卓越团队所需的因素,比如自主感、掌控感和目标感。展开来讲,就是要让人们觉得自己能够把握自己的命运,能够越来越好地做一件事情,并且知道自己孜孜以求的目标是高尚的和伟大的,超越了狭隘的个人利益。
在下属获得自主感、掌控感和目标感之前,往往需要先提升团队运作的透明度。透明度是Scrum的一个重要元素。所谓透明度,就是指团队内部不应该有秘密的小集团,不应该有秘密的日程,也不应该有其他什么秘而不宣的事情。
所以,我认为,按照Scrum的要求,任何人都可以自由地参加任何一场会议,任何利益相关者都可以参加每日立会或回顾会议。
我感兴趣的不是个人绩效,而是团队绩效。要让一个团队的绩效提高一倍,我只需要一个月,但如果让某人的个人绩效提高一倍,我可能需要一年。
传递快乐
研究发现人与人之间的关系越密切,就越快乐,就越有效率和创新能力。
为员工创造学习与成长的机遇。该公司一旦有某个岗位需要招人,往往先考虑内部员工。
公司还会开设由员工自行授课的免费课程,包括财务基础、编程等方面的课程。
以快乐为动力
公司如何创造一种让员工活力旺盛的氛围呢?管理者可以放权给员工,工作中的事情让员工自己做决定,以便鼓励他们的自主性。也可以确保员工知道一切正在进行的工作事项,因为在信息真空中工作既枯燥乏味,又让人缺少动力。管理者应该以零容忍的态度对待那些粗鲁无礼的员工,不要允许这些人欺负别人或不尊重别人,以免他们践踏公司文化。最后,管理者应该迅速为员工提供直接反馈。
今天快乐,明天也要快乐
Scrum要达到的目标就是推动整个团队形成一种催人奋进的氛围。
还记得基本归因错误吗?如果你的周围环绕着一群坏人,那么你应该做的不是找出这些坏人加以批评,而是要找出到底哪些坏制度鼓励他们这样做,因为人是制度的产物。要达到这个目的,你可以使用快乐指标。
08 | 找到最有价值的20%
待办事项清单:什么时候该做什么
Scrum的真正强大之处在于它能帮你拟定“待办事项清单”,能帮你明确各个事项的难度,并确定待办事项的优先顺序。
在产品开发中,有一条反复得到证明的铁律,即一个产品80%的价值来自20%的功能。
产品负责人
在Scrum中,共有三类角色:开发团队成员,负责开展具体的开发工作;Scrum主管,协助开发团队把事情做得更好;产品负责人,决定应该做什么工作,拟定待办事项清单的内容,最重要的是,确定各个事项的优先顺序。
产品负责人不仅需要具备更多专业知识,还必须具备以下4种特点:
第一,产品负责人需要在相关领域内掌握丰富的专业知识。
第一,产品负责人需要在相关领域内掌握丰富的专业知识。
第二,产品负责人必须获得自主决策权。
第三,产品负责人必须有足够的时间与团队成员接触,向团队成员解释清楚需要做什么以及为什么要这么做。
第四,产品负责人必须为价值负责。
决策回路:观察-导向-决定-行动
“观察”指看清外部情景的变化。这一点听起来浅显易懂,但做起来难。根据博伊德的描述,“观察”就是要摆脱自身的局限性,看到周围所有情况的变化,而不仅仅从自己的视角去观察。
重点并不是一开始就设计得尽善尽美,而是先做出具备基本功能的原型,然后看看还有哪里可以改善。秘诀在于,你越能更快地获得一些实际的反馈意见,就能越快做出更好的汽车。
因此,当你思考制造点什么东西时,不要预先认为不把所有事情做完就不能交付有价值的东西。相反,努力想一想“最简化可行产品”是什么,即自己如何才能以最小的工作量为客户提供一些价值?
如果你无法找到外部客户去试用自己的产品,那么你也可以退一步,从公司内部找一些人看一看,征求一下他们的意见。
重要的事情优先做
确定待办事项优先顺序的方法可能多达数百万种,但最理想的一种却是尽快做出最有价值的那20%,因为这20%能够产生80%的价值。
要记住的一件关键事情是,优先顺序处在不停的变动之中,这一周的顺序是正确的,但未必适用于下一周,因为你面临的环境可能已经改变,你也可能了解到了新情况,或者发现某些事情变得简单、某些事情变得困难了。
花冤枉钱与免费变更需求
开发人员没有意识到控制需求变更无异于否定客户的真正需求。他们努力限制成本的同时,也限制了学习、创新及创意。如果你开始执行一个项目后不久便发现真正有价值的功能,也就是能够传递80%价值的那20%的功能,并不在你列出的功能之中,那么,传统的项目管理方法不但会妨碍你变更固有的需求,还会妨碍你以更快的速度创造价值。
客户可能一开始会告诉你他们想要什么,但事实上,他们只有在使用过你的产品之后,才知道自己真正需要什么。
明天,你要这么做
明天你应该怎样把Scrum落实到自己的工作中呢?
首先是拟定待办事项清单和组建团队。想一想你的产品或服务的前景如何,然后着手把实现这个前景而必须做的事情分解成诸多小的待办事项。这个时候,待办事项清单不需要太长,只要能维持一个星期就足够了。等到团队成员开始第一个冲刺阶段、举办每日立会之际,你就可以利用这些时间拟定充足的待办事项清单,以便让团队在之后两个冲刺阶段中有事可做。但是,你要时刻盯着待办事项清单,因为随着团队开发工作的推进,效率会越来越高,他们可能会创造出你认为不可能的成果。
接下来,作为产品负责人,你要制作一张工作路线图。你认为这个季度能取得多少成果?你希望今年一年取得什么成果?要记住一个重要的事实,即这只是你当下的想法,没必要列得太详细,只要做出评估就可以了。你并不是在为团队制定一份具有约束力的合同,而是在梳理自己对于今后工作的想法。相信我,情况肯定会发生变化,而且可能变化很大。之所以要制订这种规划,就是要给团队内部的工作增加一些透明度。
如果你工作的地方有多个Scrum团队,那么只有一位产品负责人是不够的,你需要组建一个产品负责人团队,这样才能拟定足够多的待办事项清单,你的团队才有事可做。你可能需要一个专门负责战略层面的、与客户互动的产品负责人,同时还需要一位负责战术层面的、决定团队冲刺内容的产品负责人。
然而,重要的事情是,你要敢于开始!一定要敢做!Scrum的意义在于帮助你在几天内就组建起一个团队。拟定待办事项清单,规划第一个冲刺阶段,然后就可以付诸实施了。你不需要把很多时间投入规划、反思、冥想、使命陈述或制订五年规划上。让你的竞争对手做这些事情吧,你会把他们甩在后面。你为什么不在前进的道路上让世界变得更美好呢?
附录(scrum实践步骤)
- 挑选一位产品负责人
- 选择一个团队(3-9人)
- 挑选scrum主管
- 拟定代办事项清单,并确定优先顺序
- 改进和评估代办事项清单。不要用所需小时数去评估,因为人们不擅长做出这么精确的评估,要用相对难度去评估(波非那切数列)。
- 冲刺规划会。冲刺周期是固定的,不超过一个月,大部分是一到两周。
- 工作透明化。常见做法是准备一块白板,上面分成三栏:代办事项、在办事项、完成事项。另一个工具是燃尽图,一个轴代表工作量,另一个轴代表时间;scrum主管每天记录待完成的剩余点数,画在燃尽图上。
- 每日立会。站立进行,不超15分钟,scrum主管向团队成员提出问题:1、你昨天做了什么帮助团队完成冲刺?今天你打算做什么来帮助团队完成冲刺?3、什么因素阻碍了团队的前进之路?
- 冲刺评估或冲刺展示。冲刺结束前,给产品负责人展示成果,并接受评价。这是一场公开的会议,任何人都可以参与。
- 冲刺回顾。哪些事情执行得顺利,哪些事情应该做得更好,下个冲刺阶段可以做出什么改善。团队需要相互信任,不要从团队中找一个人当成责备的对象,要将注意力集中在流程上,认真分析几个问题:为什么会发生那样的事?为什么我们当时忽略了?怎样才能加快工作进度?作为一个团队,我们要对自己的流程和结果负责。
- 上一个冲刺阶段结束之后,立即开始新的冲刺阶段。