编写敏捷宣言

2001年2月,一群17位软件专家聚集在犹他州的雪鸟,讨论当时被称为轻量级方法的不断发展的领域。我们决定使用“敏捷”一词来描述这种新型的敏捷方法。我们还撰写了敏捷软件开发宣言,阐述了这些敏捷流程的价值观和原则。我是这些自封的先驱者之一,此后我遇到了许多关于该群体起源和随后敏捷联盟成立的问题。这是我对这些事件的回忆。

2006年7月9日



起源

我可以相当准确地将敏捷联盟聚会的起源归因于2000年春季为极限编程社区的各种领导者举办的一次静修。肯特邀请了一群活跃的XP专家到他在俄勒冈州的农村地区,讨论XP中的各种问题。除了确认的XP专家外,他还邀请了一些对XP感兴趣但与XP分离的人:例如Alistair Cockburn、Jim Highsmith和Dave Thomas。

在会议上,我们讨论了XP与其他类似方法之间的关系——当时被称为轻量级方法。我们同意XP最适合作为一种特定流程:“一个立足点”。我们还同意XP与这些其他方法之间存在很多共同点。(Uncle)Bob Martin决定尝试组织一次会议,让对这些更广泛方法感兴趣的人参加。

我们联系了广泛的人员,基本上是任何我们认为对该领域感兴趣并活跃的人。我相信我们错过了一些本该感兴趣且有价值的人,但我们确实尝试覆盖尽可能广泛的领域。经过多次讨论,我们最终确定了2001年2月11日至13日在犹他州雪鸟举行会议。一些热衷于参加的人无法参加——最终参加的人是17个人,他们的名字出现在宣言上。

雪鸟会议和宣言

我们带着有限且不同的期望来到雪鸟。我的期望非常有限——我只是希望我们能更好地相互了解,更有效的沟通能带来一些有趣的东西,尽管我不期望在这次会议上取得太多成果。我参加过类似的小型静修(例如90年代中期在雪鸟举行的WOOD系列),发现它们非常有价值。建立的联系会转化成各种各样的东西。事实上,我在那些WOOD静修中第一次认识了许多人,如果没有它们,我可能不会发现自己参与了XP的诞生。

我们实际上发现我们很快有了很多共同点,并在软件开发的许多重要方面达成了一致。因此,我们决定不仅仅是谈话。我们喜欢写一份文件的想法,这份文件既能捕捉到我们认为正在发现的共同点,又能成为软件行业的号召。

这第一步是找到一个好名字。非正式地,我们使用过的各种方法被称为“轻量级方法”。我们中很少有人认为这是一个好名字。有些人认为它有点侮辱,但我们所有人都认为它没有抓住重点。轻量级不是这些方法的重点,它只是一个症状——正如我在新方法论中所论证的那样。我们考虑了许多名字,最终同意使用“敏捷”,因为我们认为它体现了我们认为对我们的方法至关重要的适应性和对变化的响应能力。

重要的是要记住,我们对“敏捷”这个词没有版权。我看到一些人写文章说敏捷方法并不真正敏捷,因为他们对敏捷这个词的定义。当然,这是真的,就像赫蒂·邓蒂一样,我们借用了敏捷这个词来描述我们所做的事情——当然,这并不是敏捷这个词的唯一用法。但我们需要一些词来描述我们共同的观点,并且认为敏捷可能是最好的选择。

接下来是编写文档。我们决定称之为宣言,因为它是一份战斗号召,也是我们信念的陈述。我们在会议期间主要致力于我们的价值观陈述,我对结果非常满意。我认为这些价值观真正体现了我们在会议期间分享的核心思想。

在会议的后半部分和接下来的几个月里,我们致力于原则。一旦我们分开,进展就慢了很多,但我们确实找到了一个很好的电子邮件和维基组合来完成这项工作。我认为原则没有价值观那么有说服力——但它们仍然是我们所代表的良好记录。

由于Ward(维基的发明者)在Web服务器方面做了很多工作,他自愿为宣言建立一个网络存在。他获得了域名agileAlliance.org,我们最初使用它来发布宣言,尽管后来它被赠送给了敏捷联盟。 宣言网站只包含宣言本身,一篇由Jim Highsmith撰写的简短文章,提供了一些背景信息,链接到作者,以及人们可以签署支持的地方。

宣言是一份战斗号召:它说明了我们所代表的东西,也说明了我们反对的东西。一些项目被措辞得非常明确,以便区分我们的观点和软件行业中许多其他人的观点。我认为这对于克服过去几年笼罩着许多事物的模糊性非常重要。我看到“增量”和“迭代”这两个词被滥用到各种奇怪的项目形状中。我希望宣言能明确什么是敏捷,什么不是敏捷。

一个持续的组织

我们这17个人碰巧在雪鸟,并没有什么特别之处。我们并不是唯一分享我们在宣言中写到的价值观和原则的人。我们都希望在未来几年里努力推广这些原则和价值观,既通过具体的流程,也通过更广泛的议程。然而,我们在这个运动中没有任何特殊地位,也不希望为自己建立这样的地位。

这17个人中的大多数人在2001年的OOPSLA上第一次有机会再次聚在一起。这次会议,包括许多对敏捷开发感兴趣的人,清楚地表明这17位宣言作者“启动了这艘船”,但没有理由对敏捷软件的未来有任何特殊发言权。

然而,一些人,包括这17个人和新加入的人,希望看到一个更永久的组织成立。因此,在2001年末,他们成立了敏捷联盟,这是一个非营利组织,旨在作为促进敏捷方法的中心。你不会感到惊讶的是,敏捷联盟的安排非常混乱。联盟中的所有工作都是由非常独立运行的项目完成的。有一个董事会每季度监督项目,但除了这个检查机制外,项目在做什么方面有很大的独立性。

从那时起,敏捷联盟发展成为一个稳定的持续组织,组织了许多工作来推广和理解这个新领域。这项工作的典范是年度敏捷大会。任何人都可以加入联盟,只要缴纳会费,会员资格允许你选举管理组织的董事会。我在第一届董事会(未经选举)任职,帮助启动工作,但此后一直保持低调——我对董事会过敏。事实上,敏捷联盟的一件好事是领导层已经远远超出了这17位作者——这是我们决定“让这艘船航行”的良好证明。

敏捷和Thoughtworks

你可能想知道敏捷如何与我们在Thoughtworks的工作相符。我的看法是,敏捷的基本精髓从一开始就深深地融入到Thoughtworks的企业文化中。这在很大程度上吸引了他们,也吸引了我。宣言在Thoughtworks得到了很好的接受,因为它公开解释了这些价值观。多年来,我们的敏捷基因不断增强,因为我们自然而然地吸引了那些希望以敏捷方式工作的人。我们也积累了更多使用敏捷方法的经验,正如我喜欢说的那样,我们犯的错误比大多数人多。我们更喜欢以敏捷的方式完成所有工作,这种愿望经常受到客户的限制,尽管我们越来越倾向于只在客户允许我们使用我们发现成功的方法时才进行工作。我们也有许多客户专门聘请我们,因为我们的敏捷专业知识,通常是因为他们希望我们教他们敏捷工作。

话虽如此,我们不喜欢把自己看作“敏捷咨询公司”。对我们来说,敏捷方法是我们喜欢的工作方式,但并不是我们存在的本质。如果我们发现更好的工作方式,我们会采用它。只是到目前为止,敏捷方法似乎是我们构建有用软件的最佳方式。

其他回忆

其他参与者的笔记:Alistair CockburnDave ThomasJim HighsmithRobert Martin

Agile Uprsing播客在2016-17年对宣言作者进行了一系列播客采访。我的采访在这里

Caroline Mimbs Nyce在《大西洋月刊》(2017年)上发表了《颠覆软件世界的冬季度假》。根据我与她的互动,她认真地采访了我们中的几个人,并整理了一个不错的叙述。

Jeff Sutherland发布了他回忆的视频,这是会议20周年纪念。


重大修订

2006年7月9日:将标题更改为“编写敏捷宣言”,添加了指向其他帐户和其他次要更改的链接。

2006年7月:一些次要更新

2002年2月:谈到了敏捷联盟非营利组织的成立。

2001年11月:更新了关于未来的部分

2001年8月:更新了关于未来的部分

2001年6月:首次出版,标题为“敏捷宣言:它的起源和去向”。