敏捷开发的萌芽
20 世纪 90 年代初,敏捷先驱们陆续发布了关于Scrum的文章。Bob接收到这一变革的信号后,突然有种预感:团队可以尝试一种新方式了。这一预感在他偶然接触到Kent Beck(肯特·贝克)关于极限编程的著作之后成真了。Bob先后几次拜访Kent,从他那里深入了解了极限编程(XP),并对测试驱动开发(Test-Driven Development,TDD)进行了尝试。这时的Bob才发现,原来在面向对象的环境中可以应用这样的流程,原来一套可以信任的测试能够使代码修改变得异常简单。当他觉得团队完全可以在开发流程中,简单并安全地修整代码的时候,就无法再接受烂代码了。
受此启发,Bob想围绕代码整洁和极限编程创建一个非营利组织,但这一想法在当时并未得到大多数人的认可。于是到 2000 年秋天,Bob又提出了一个想法:让相互竞争的轻量级流程倡导者聚集在一起,形成一个统一的宣言。这个想法得到了Martin Fowler(马丁·福勒)的大力支持,两人一拍即合,随即便开始着手准备会议的前期工作。在筹备的后期,又加入了一名意向者——AlistairCockburn(阿利斯泰尔·科伯恩),Alistair的加入使这次的会议准备更加完备,并将会议地点定在雪鸟滑雪场,这样,雪鸟会议就万事俱备了。
这次的雪鸟会议历时两天,十七位不同流派的敏捷大师在阿斯彭会议室里进行了长达两天的讨论,意在寻求所有轻量级过程和软件开发的共同点,最终他们从交互、软件、协作、变化等四个角度搭建出了敏捷价值观及十二原则。但令人遗憾的是,为了求同存异,这次会议所签署的《敏捷宣言》并未对“如何编程”这一部分作过多的解释,同样没有将Bob一直提倡的代码整洁纳入。
但这并不意味着Bob放弃了“代码整洁”。2010 年,Bob出版了《代码整洁之道》一书,他在书中正式提出“代码质量与其整洁度成正比”的观点。这本书一经面世,就在软件开发行业掀起了轩然大波。“代码整洁”认为,整洁的代码是自解释的,阅读代码应该如同阅读一篇优秀的文章,见字知意,能够一下子明白大概的代码功能。“代码首先要能读懂,其次才去要求功能实现”的理念得到了数百万程序员的追捧。Bob大叔坚信,工作保证速度与质量的唯一方法就是尽可能地保持代码整洁。可是很快,这个唯一的方法就不那么灵验了。