critical chain

in 悦行

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

徐毅的倾情推荐,这两天看了《关键链》这本小说体项目管理著作,并尝试通过其中分享的信息来看看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中也没有缓冲的概念,有点能做多少做多少的意味,不知这是否是依托于软件这东西太灵活了,在固定的节奏上多一些少一些活动空间还是比较大的。

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

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

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

Write a Comment

Comment


*