2011年9月15日

从另一个角度看敏捷实践(二)--Retro:忏悔与改进

题外话:我其实想说的是一个被人所忽视的问题。形式有没有价值?我承认,形式化是不好的。但是这个世界有个东西,叫做仪式。
举个例子,在国外,有种组织叫兄弟会,(电影里很常见)他们的有些会设置很多可笑的考察仪式来考察你够不够入会的资格。有些会有危险,有些只是纯粹搞出些恐怖气氛吓你看你会不会被吓退。这种东西有价值吗?心理学告诉我们,设置准入门槛可以提高组织成员的忠诚度。如果你觉得这玩艺太可笑了,给取消掉。你会莫名其妙的发现后来加入的人对组织的认可度忠诚度都不高。这就是仪式的价值。

今天说的是Retro,全名retrospective,中文名“回顾会议”,网上有很多相关文章,就不再这里赘述了。这里提到的Retro是最常见的一种模式,分Well, Less Well, Puzzle三个维度的模式。该模式的Retro的特点是会让我们更多的关注less well,关注我们做的不好的那些。这点有好有坏。本文只揭示它好的一面。做为补充,还有一种海星图的模式,感兴趣的人可以自己查询。

我个人认为retro是敏捷开发中很重要的一道防线。是团队健康度的晴雨表,是沟通的桥梁,是共识建立的契机,是改进的开始。

对于团队本身就存在大量问题,而这些问题可能都在敏捷方法的问题域里时。Retro是一个很好的发力点。他的效果可能没有持续集成那么立竿见影,往往是润物细无声。他可以帮我们把痛点暴露出来,但是不一定是根本问题。就像医生看病也得先问你哪不舒服。而Retro就能帮团队说出来哪不舒服并达成共识。某种意义上讲,它是个报警器。

如果已经采用了大量敏捷实践的团队呢?比如我们团队,在我们团队的开发中,我们一直推进着各种改进,期望让我们的工作更有效率,交付更多价值,同时也让我们的生活更美好一些,这是一件双赢的事情。 可是我们也要看到改进是需要成本的,而且也是有风险的,所以有的时候难以推动。对于客户( 有时是PM等内部角色)来说,他讨厌一切成本和风险,而更感兴趣的是新功能,当碰到短视的负责人,或者交付压力占了上风的时候,难以推动这点感觉尤为明显。不过商业社会里竞争如此激烈,这也无可厚非。虽然我们也知道出来混,欠下的迟早是要还的。

不过这不是我们今天讨论的角度。今天我们站在推动改进的角度来看这个问题,开发时,在开发第一线的我们往往是第一个了发现开发中的问题,然后我们会发现改进最困难的是沟通,明明这是个问题,但是让各方都接受这个问题并改进它需要证据,需要沟通,需要资源,最重要的需要时间。我曾眼睁睁得看着客户只是加几台机器提升持续集成的构建效率这件事竟然推动了近一年才成功,那么在这个问题被发现但不能改进的时间里,团队会怎样呢?首先士气会被打击,接着如果问题长期不能解决并影响了工作效率,一种不愿追求卓越的气氛会渐渐感染团队成员,进而使得大家会在其他实践上表现渐渐变差。( 相对于每个人自己,而不是团队其他成员)改进的意愿也会不同程度的变低。这符合破窗效应

这时候,很容易出现的一个倾向会是干脆我们不要retro了,反正也改进不了,完全是浪费时间。 这就成了自毁长城。不能干因为报警器老响就把报警器拆了的事。出来混欠下的始终要还,学鸵鸟是没用的。当retro不能给我们提供更多实际改进价值的时候,它还能提供最后一个价值:忏悔的仪式。
 
曾经一直不明白西方人为什么定期去教堂忏悔,周周去,周周都有值得忏悔的,甚至犯过的错还有很多类似的。看起来没什么用。但这就像房间,天天打扫天天都有的打扫的,心灵的房间也是一样。一位有信仰的朋友告诉我,定期经常向神忏悔会更愿意改进自己,如果一段时间不去对自己的要求就会放松。人的心理就是这么奇怪。这揭示了一个道理,人是会逐渐放松对自己的要求的,所以需要一种手段让我们保持对自己的高标准。

我个人认为retro就是一个很好的手段。尤其我前面说过了,这里讨论的这种Retro的模式的特点就是让我们更关注于Less Well。定期,经常,回顾,反思。当我们无法变得更好的时候可以帮助我们反观团队自身,不要变得更差。让破窗效应难以发生。

(本来只是想写一个敏捷团队碰到让人沮丧的情况时Retro提供的价值,结果越写越多,有点跑题了⋯⋯)

posted @ 2011-11-13 16:14 咖啡屋的鼠标 阅读(3642) | 评论 (0)编辑 收藏

从另一个角度看敏捷实践(一)--IPM:承诺的仪式

在我们的开发中,有些实践的价值是容易感受到的,比如重构,比如TDD,比如持续集成。
有些实践的价值则不容易感受到,比如Retro(回顾会议),比如IPM(迭代计划会议)。
以IPM为例,在我们的IPM上我们一般会做两件事Kick off cards和Estimation。也就是选择下个迭代要做的卡和评估每张卡的点数。这两件事情似乎第一件事没必要所有人都参与,第二件事感觉一定程度上是瞎蒙,尤其是一群人来蒙,显得尤为的不靠铺。而且似乎我们IPM就是为了选出下个迭代能做完的卡,就是为了知识传递,就是为了给客户可视的数据和计划,让他们心理好过。
假设说我们不必所有人都参与就能保证选出适合下个迭代做的卡,我们通过每日Code Review等实践使得每个人都不会缺少相关卡的知识,而客户也不特别在意我们的进度(或者说我们的进度他们总是满意),是不是我们就不需要IPM了?是不是我们就不需要集体Estimation不需要集体Kick off了?
实际上,我们的项目就符合前面的假设,在项目的最后,我们真的取消了IPM。这时,才感觉出来IPM的价值。
整个团队的效率慢慢开始下降。对于目标的理解开始不一致。虽然团队整体的表现并不差,虽然没有出现任何实质的问题,但容忍度低的人开始不舒服。跟团队自己以前的状态比,确实有点退化的感觉。怎么会这样呢?
每当说到这种状态出现在敏捷团队中的时候,我最常听到就是人的问题,态度问题等等说法。其实我一直觉得,如果追究态度,空谈人的问题有用的话,我朝应该是世界第一而不是那个人人自我的美帝。人一直是有问题的,不然要管理学干什么?敏捷里提倡自组织团队,自我管理。但决不是松散组织,不管理。自组织它也需要组织,自我管理它也是管理。像IPM这样的活动,就是管理的一部分。
IPM上做的两件事,看起来完全不靠铺,实际上却非常有价值。整个IPM活动就是一个承诺的仪式。像古代行军打仗前的誓师大会一样,可以调动起团队在下一个迭代中的士气。通过集体参与评估和制定计划,通过各个角色的共同作用,使得每个人都参与到整个计划制定中来。自然而然的对下一个迭代许下承诺。而承诺一旦许下,就会像一个耳语的恶魔,暗中催促着人们的行为与其保持一致。
生活在我朝的人们,似乎对承诺这个东西的效果是完全不相信的。这也难怪,不过出于众所周知的原因,咱不谈我们为啥不信任承诺。从心理学的角度,承诺是有实际意义的。《影响力》“第三章 承诺和一致”中就讲了这个极为简单却极为有用的心理学原理:人人都有一种言行一致(同时也显得言行一致)的愿望。 其中有很多很有趣的实验,揭示了承诺的力量。 感兴趣的人推荐读一读。里面有个小例子提到,两个星期前一个愿意在自家的草地上插一个小牌子为交通安全做点贡献的小承诺,使得该社区76%的人都在两个星期后接受了在自家草地上插一个挡风景的大牌子的请求。而对照社区只有17%。巨大的反差可以让我们看到承诺的力量。
当然我们对承诺的不信任也是有道理的,当承诺真的难以完成的时候,几乎所有人都会违背承诺。在传统的瀑布式开发过程中,使得计划这种承诺难度大大上升,而可信度也就大大下降。这也是为什么我们需要迭代的原因。

posted @ 2011-09-15 23:25 咖啡屋的鼠标 阅读(2920) | 评论 (2)编辑 收藏

<2011年9月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

导航

统计

常用链接

留言簿(15)

随笔分类(52)

随笔档案(76)

文章分类(3)

文章档案(4)

新闻档案(1)

收藏夹

Flex

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜