创造自己的“最佳实践”

二战时期的南太平洋Tanna小岛(瓦努阿图)上,由于盟军把岛屿作为基地,飞机不断地把包括食品,生活用品在内的各种补给送到岛上。幸运的岛上土著居民也分享了很多免费食品,生活用品。二战结束以后盟军撤离了该岛,但是居民对这种免费午餐还是念念不忘,始终希望好运能够再次降临。于是他们开始模仿占领部队的种种行为。居民们精心制作了军服,把木头雕成枪的样子,他们甚至用最基本的原材料组装了一架与真实飞机一样大小的“飞机”。他们甚至还模仿盟军当年训练的样子在村庄内行军…。这甚至成了一种宗教。人们把这种现象叫做货物崇拜。大家肯定觉得这很好笑,因为任何明眼人都会看出这些土著居民没有理解发生在他们周围这些事情背后的原理,而这种通过片面模仿外部表象是没有可能再得到“上天”的眷顾的。

其实这种现象在号称“成功”实施敏捷团队中也十分普遍,以至于敏捷社区给这种现象起了一个专有名词,“货物崇拜敏捷”(Cargo Cult Agile

) 。Jeff Sutherland说过75%的Scrum团队都不是在做Scrum而是ScrumBut。很多团队不能做到自主管理;很多不能在Sprint的结束时候发布测试过的产品;很多Sprint Backlog中所谓的用户故事对客户根本没有价值;不少号称用故事点来进行计划估算的Scrum团队,团队成员甚至不知道一个故事点代表什么,因为他们是被告诉下一个迭代需要完成什么,大约是多少故事点;很多团队的Retrospective和Review流于形式。尽管绝大多数团队都在实践Scrum的各种实践,都有Sprint计划,Daily Scrum,都有Retrospective,都在用用户故事&故事点。这绝不是Scrum。他们只看到Scrum的形,没有领会到Scrum的神、价值观,也不明白Scrum、用户故事背后的道理。而这其实就是敏捷过程与传统的软件模型的最大区别。传统方式更在乎的是形式,而敏捷更加在乎的是价值观原则
我们整个行业都十分热衷于“最佳实践”,出版社为了迎合市场,也会出版很多“最佳实践”类的书籍。为什么?因为简单!不需要思考,只要把书上的东西原封照搬下来就可以用了。但是这样做十分危险,因为任何“最佳实践”都是有一个应用环境的。脱离了应用环境,“最佳实践”就不那么有效了。很多团队其实就是照着Henrik Kniberg的“硝烟中的Scrum和XP”开始实践Scrum,认为Scrum就是这样子。但是他们忽略了Henrik在书中的很重要的免责声明“这篇文档讲述的不是“正确”实现Scrum的方式!它只是表明了一种方式,是我们在一年内不断修正调整后的结果。你也可以认为我们的做法是完全错误的。”Scrum的创始人Ken Schwaber也说过“如果你是从一本Scrum烹饪手册照搬来实践Scrum,那就你做的就不是Scrum了。
最近读Don Reinersten比较多,深受其影响(Managing the Design FactorySecond Generation Lean Product Development: From Cargo Cult to Science),感触最深的就是我们对待任何事情都应该采用一种Science Approach而不是Faith Approach。任何的实践和工具没有好坏,都有其适用的环境及背后的原理。如果我们总是盲目跟着流行走,跟着书本或者大师们走,那其实就是Faith Approach,那我们跟Tanna小岛上的土著居民没有区别。因此我们要有意识的使用Science Approach,去了解这些实践和工具背后的原理。了解为什么要Limit WIP?什么时候用Pull?什么时候用Push?是不是要不停的Eliminate Waste?什么时候用Kanban?什么时候用Scrum?产品开发的测试应该怎样做?产品生产的测试应该怎样做?等等。了解了这些工具背后的原理和理论(排队理论Queueing Theory、约束理论Theory of Constraints、信息理论Information Theory、系统化思维System Thinking等等),很容易就能创造出自己的”最佳实践”。

 

Share