在 Martin Fowler 的经典著作《重构:改善既有代码的设计》一书中,Kent Becky 与他合著了有关代码异味的一章。其中第一句话是这样说的:
如果它开始发臭,做些改变吧。Beck 奶奶和你一起讨论抚养孩子的哲学。
当某件事情表现出出现问题的症状时,我们会称之为“异味”;大家对于观察“异味”都很感兴趣。这个概念从书出版之后就变得流行起来了,并且被用来描述除软件设计领域之外的其他问题。在敏捷实践领域中也已使用了该词汇,用来说明发生了什么问题。
Mark Levison 写了一篇有意思的 blog 文章,总结出关于敏捷异味的目录。以下这几种异味你可能很熟悉:
- 说话的小鸡:这种异味发生的情况是,团队以外的成员——例如外部的项目干系人——过分干预每天的站立会议。这种行为严重限制了团队的自组织能力,以及成员们独立完成迭代任务的能力。
- “确实‘完成’了么?”:团队是否有“完成”的定义?团队能否遵循这个定义?要是没有做到这点该怎么办?
- “我们不像一个团队”:如果不能像自组织团队那样运行,敏捷实践带来的许多益处将因此而损失。
文中还提到许多其它异味,作者在形式和风格上对这些异味进行了区别。异味目录的诞生标志着敏捷社区的成熟,因为我们开始回顾以往数年的经验,并从中汲取养分。
有些异味被总结成为模式。Jason Yip 发表了有关站立会议模式格式的文章,Mike Cohn 撰写了有关敏捷采纳模式的内容,Amr Elssamadisy 撰写了《敏捷实践采纳的模式:技术集萃》(可以在InfoQ 网站下载)以及《敏捷采纳模式:组织成功的路线图》两书。与敏捷异味类似,模式相关的工作从社区经验中吸取营养,从这里了解到团队成功和失败的普遍原因。
社区不断在成长,经验不断得到积累;用文档记录敏捷实践采纳过程的工作,将会变得越来越重要。对异味和模式所进行的分析,在这些工作中占有重要的位置。
评论