Philippe Kruchten 在《敏捷文化基因群落之旅——在敏捷开发的世界,环境因素是关键》( html , pdf ) 中深入思考了敏捷的文化。他用了代表文化复制基本单位的“文化基因”这个概念,来描述各种敏捷思想和实践,并且称敏捷的文化就是许多的文化基因在传播的过程中聚集在一起,形成“文化基因群落”。Kruchten 声称敏捷的文化,无论其是否对于一个组织有明显的帮助,都极具感染力和传播性。
Kruchten 称敏捷是一组很容易复制的思想:
组成敏捷文化核心的 50 来种基因存在很大的内联性,并且相互支持,XP 的创始人曾经提到并且强调过 XP 那一小群敏捷文化基因的这种特点。敏捷团队 (以及敏捷用户组以及敏捷咨询师) 已经被证明是一种在敏捷文化群落中复制、演化和扩散敏捷基因的有效方式。
遗憾的是,这些敏捷基因被从他们赖以生存的环境中剥离开来了。这也就意味着许多思想被认为是放之四海而皆准的真理——被应用到任意的环境中。因此直接导致了许多项目的失败,并且使敏捷思想对许多组织产生负面的影响:
有些时候,我们会看到有人明确地否定环境的相关性,思想的载体明确地或隐含地宣称敏捷思想的广泛适用性。比如“一个迭代必须有三周”这样一条文化基因,如果脱离了外部环境的定义,就变得毫无意义(如果我的项目本身只有三周的时间,就有三个人该怎么办?)。其他耳熟能详的规则包括“no BUFD”(big upfront design,重量级的前端设计),YAGNI(you aren’t going to need it, 你并不需要它),他们都只在一定的环境下能体现出价值,但是往往在多次传播复制的过程中,这些规则逐渐被脱离开环境来对待。我看到这种态度导致许多敏捷项目严重失败,当有人把精力放到软件架构本身,而不是为最终用户产出立即可见的价值的时候,马上就会被那些敏捷文化的鼓吹者 (agilistas) 系统地否决掉,直到他们撞上南墙(即如果不进行大规模的重构,项目将无法继续下去,而重构所需的时间也并非一个很短的周期)。
Kruchten 将这种脱离开外部环境来实施敏捷的形式称作“病态敏捷”(Agilitis)。治愈这种病态的方法就是将敏捷融入环境,并且抛弃那种认为每一种敏捷思想和实践都能给每一个项目带来益处的盲目信仰。你和你的团队是否也正在被病态敏捷折磨呢?
查看英文原文: As Agile Memes Spread, Does Software Development Improve?
译者简介:木雨宝道,Ruby On Rails 开发者,关注各种 Web 开发技术,敏捷开发爱好者,很少饮酒。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com。
评论