敏捷史话:走入《敏捷宣言》的合著者真实人生
上QQ阅读APP看书,第一时间看更新

测试驱动开发

1999 年,James开始学习极限编程,从事嵌入式咨询工作。当时一直在为客户编写用例并搭建体系架构的James在Object Mentor进行了第一次极限编程沉浸式学习,也开始接触一些此前未了解过的事。当他看到当时名为“测试优先于开发”(现在的测试驱动开发)的演示时,他发出惊叹:“哇!我们可以打破对我们没有的东西的依赖。”因此,如果需要构建某个系统,并且处于无法与硬件交互的情况下,仍然可以创建软件,并通过存根和模拟对象等来开发尚不存在的事物。

激动兴奋之余,受到启发的他产生了为做嵌入式开发的程序员介绍测试驱动开发的念头,也开始做敏捷应用于嵌入式软件的演讲,希望将敏捷介绍给嵌入式开发的群体。除此之外,James也出版了一本以测试驱动开发为主题的书籍:《测试驱动的嵌入式C语言开发》。

从这颗被点燃的火花开始,再到他把敏捷、测试驱动开发的火花带给更多的嵌入式开发工程师,他就已经意识到,语言是不同的,而且不仅是编程语言,人们相互交流的方式本质上也是不同的,因为他们谈论的是不同的东西。不同的整体拥有不同的世界,所以游走于不同的群体间就可以学到不同群体的知识,比如他通过与Robert的合作了解到了许多非嵌入式的知识。不论是面向对象、极限编程还是测试驱动开发,他希望把这些知识带给更多的程序员。

敏捷本身不是目标,而是寻找诚实而高效的方法来交付有价值的产品,这是James一直强调的观点。在 2011 年《敏捷宣言》十周年的访谈中,他认为自己与十年前的自己相比初心不变,一直拥有自我学习和进步的自主意识,不断地尝试、验证、完善一个又一个想法。所以,敏捷带给James的是一种前进的方式,而不是可以在此停滞的目的地。如今又是新的十年走过,通过他不断更新的网站和活跃的动态,我们相信他一直在前进,从未停滞。