从《关键链》看Scrum为什么这么玩

critical chain

徐毅的倾情推荐,这两天看了《关键链》这本小说体项目管理著作,并尝试通过其中分享的信息来看看Scrum的一些行为设计的道理,以及哪些《关键链》中觉得很重要,而Scrum中没有提到的东西。

《关键链》中提到项目经常难逃的三个悲催的命运,一个超出预算,一个是项目延期,再么就是貌似做成了,结果发现缺胳膊少腿。咋一看,这些都是不确定性在作孽,俺们人都是无辜的受害者,努力工作又获得悲惨命运的荼毒。

但这都不是真滴。

由于从财务上讲,逾期比超支严重得多,《关键链》试图通过抓住项目时间这一条关键命脉,来帮助项目挣脱命运的枷锁。它分析从正态分布图得出,一般为了让我们能有>90%的可能完成任务,我们一般会在单个任务中,加入多一倍的时间,以确保我们的饭碗与权威无虞。

当每一个步骤都这么做的时候,我们项目的整体时间被大大拉长。并且在项目层层上报的过程中,每一个层级似乎都在往里面加安全时间,以准备大boss砍时间预算。

这是一种符合人正常心理的做法,不一定绝对准确,但具有相当大的现实意义。

书中给出的问题解决方案就是,直接砍掉每个步骤一半的时间预算,然后将砍出来的时间放到所有步骤的最后,以成为项目本身的安全缓冲。

个人认为这是一个很难落地的解,基本上就是靠大boss的铁腕砍杀了。而一旦大家知道大boss砍杀的比例,以后大家自觉在估算的时候加上这一部分就好了,一来二去成为一种平衡的默契。可书中对如何“说服各部门负责人削减他们的预估完工时间”,以及如何说服别人不用具体的日期一笔带过了T T。

而Scrum对此的解是,“Never use time.”首先直接说时间的不靠谱,咱么来看看复杂度吧,复杂度越大越招不确定性。咱们就估个大致的就好,不要求准确度。

然后是一伙男男女女一起估,反正是组里的个性化尺子,你们自己看着办。原本说的单个步骤的安全缓冲时间不向后传递。想想你原来估计要3天的活,结果手气太好1天就做完了,你会主动上报说昨晚了,好好浪费2天的大好酱油时间,以及将来可能与之相关的所有时间么?但是一起估计的时间就不一样了,偶如果做的特别快,主要说明个人特别的英明神武,不会说我原来的估算放水,至于将来怎么估,依然是群体的智慧,老板不好随便砍滴。

再就是彻底透明,这里的彻底透明通过大家都坐一起,以及老板没事路过都知道现在最真实的状态等等等等。

书中还从产出最大化的角度论证了局部优化无效,故而强调说对于优化问题所应该采取的策略是聚焦五步法(Five Focusing Steps):

1、找出瓶颈(Identify)

2、挖掘瓶颈的潜能(Exploit)

3、让其上下游都迁就瓶颈的产能产出(Subordinate)

4、给瓶颈松绑(Elevate)

5、查找下一个瓶颈(Go Back)

在敏捷中对瓶颈的策略,就是希望各人能够在项目中动态流动,通过看板及时发现瓶颈,及时补位。

Scrum中也没有缓冲的概念,有点能做多少做多少的意味,不知这是否是依托于软件这东西太灵活了,在固定的节奏上多一些少一些活动空间还是比较大的。

《关键链》中提到了三种时间缓冲,分别是上面提到的项目缓冲,支线和关键路线(需时最长的一串依存步骤)交接处的接驳缓冲,以及资源互相制约时的资源缓冲。

值得注意的是,由于资源有时会相互制约,书中最后提到了“关键链”这个概念,是一种对制约资源的透视。从定义上来讲是最长的一串资源上相互制约的步骤。和关键路线的相同之处在于,需要在其主线和支线接驳之处加上接驳缓冲。

关键链的概念可以一定程度用在故事卡的分配上,虽然敏捷提倡自行在产品功能列表上选优先级最高的故事做,但现实中我们难免存在说某人更擅长做某些故事的问题。画出关键链有利于避免某牛人成为项目进展的瓶颈而产生项目延误。

游戏化项目画布

game

游戏玩家往往能够不断涌现正能量,能不畏困苦,自我挑战,积极协作。于是若能将游戏的元素融入到工作中,让人在工作中能够施展玩游戏时的执着和创造力,或许也能够给组织和个人带来不同凡响的过程与结果。

以下为我选取出游戏中六个关键的组成部分,构建的游戏化项目画布。

游戏化画布

首先需要设定组织或者项目的愿景。重点要求:

A, 需要是组织和个人的共同愿景。具体做法上可参考欣赏式探询,如果有其他好方法,欢迎指点~

B, 愿景的背景与描述需要宏大以至于让人心生敬畏。希望尽可能的创造项目带给大家的使命感,为能够投注其中出一份力而感到荣耀。

二、目标

或者可以理解为短期任务,让成员任何时间都有明确的阶段性任务可以做。一开始的目标需要很容易达成,以最快速给“玩家”正向的成就感和反馈,随后难度逐阶递增,目标的设定时时紧扣愿景的实现。

我们希望目标可以与对应个体的技能相匹配,以帮助个体能够进入到心流(Flow)的状态~

关于心流的产生与其所遇到的挑战的关系请参见:

Challenge_vs_skill.svg

三、反馈

在目标实现的过程中,如何给予“玩家”所需要的反馈?

或者如何引导“玩家”主动获取所需要的反馈?

如何在项目中提供多方面的镜子,让人时刻知道自己的各种状态,一如玩家在游戏中透明的各种属性值点数?

如何让实时展示对短期目标的实现进度?

符合让玩家清楚自己在团队中的位置,以及给予团队的贡献?

四、成功

如何庆祝每一次目标的达成?

如何让人为这些成功而自豪,并且充分炫耀

如何让玩家相互祝贺

五、失败

如何让失败有趣甚至华丽

如何让玩家在失败时产生的是快乐尴尬(happy embarrassment)。要知道相互调侃是强化我们彼此之间的正面感受最迅速也是最有效的一种方式。

游戏中的玩家有70%-80%的时间都在失败,但是大家毫不畏惧,依然斗志昂扬,积极应对各种意料之外的事务。因为我们总有机会重新站起来,我们全力以赴,跌倒又爬起,失败了,快乐的吸取教训,然后继续战斗。

六、链接

人会通过各种方式和他人建立连接,寻找归属与存在感。当人能和周围的朋友建立强有力的链接的时候,他能感受到更稳定的幸福感。

如何加强这样的链接,以增强组织的韧性和战斗力?

如何拨动,已让成员互相学习,协同工作,并突破创新?

希望能够通过在(不一定是软件开发)项目中建立这六个要素,创建一个游戏化的空间,以引入玩家精神。在下面的工作中,我会将这画布引入实践,敬请期待后续报道~

参考

《游戏改变世界》

《第五项修炼》

TED: 艾瑞克·惠特克:2000人的虚拟合唱团