敏捷宣言创始人James Grenning:敏捷尚处早期 将深入嵌入式领域

来源:百度文库 编辑:神马文学网 时间:2024/04/28 19:31:15
James Grenning

记者:您能简单地向我们中国的读者介绍下您自己吗?

James Grenning:我是在70年代末才开始进行软件开发的。在用BASIC语言编写了一两个程序后,我觉得它非常有趣,并被它深深吸引了。从那以后,我就投身到了软件开发的所有领域,担任过亲自编写代码的工程师、团队领导人、管理者甚至还做过一些市场方面的工作。现在我主要对构建软件的公司和个人进行辅导、训练并与他们一块切磋。

从芝加哥伊利诺伊大学毕业后,我的第一份工作是嵌入式软件开发。我开发的第一个产品是为US-FAA开发的彩色天气雷达显示系统。我也从事过非嵌入式软件开发。

从1999年我才开始学习极限编程,当时我和Bob Martin就职于 Object Mentor公司。我非常幸运地参加了敏捷宣言制定的会议。把非嵌入式软件世界中的好方法(像敏捷、极限编程、TDD和面向对象设计)传播给开发嵌入式软件产品的公司和个人,我将其视为我的个人责任。

记者:作为敏捷宣言的创始人之一,您能否回忆一下十年前敏捷宣言是如何产生的呢?

James Grenning:敏捷宣言是在犹他州Snow Bird上举行的一个会议上产生的。Snow Bird中世界上最好的滑雪雪山之一。我的老同学当时也是我的老板Bob Martin,介绍我参加了那次会议。我不能错过这次会议,这次会议不仅有关于软件开发的激烈讨论和争论,我还可以在Snow Bird上一饱滑雪乐趣。我记得当时我们就我们觉得如何进行软件开发这个问题进行了一次讨论。

有很多直言不讳并且学识渊博的人给了很多观点。最后我们确定了这4个标准。同时在会议期间我们还举行了一些很精彩的滑雪运动。

记者:你认为敏捷开发在软件开发中有什么影响?

James Grenning:敏捷对于开发人员如何开发软件这个问题上有很大的影响力。在我早年生涯中,我们相信真正开发出好的软件的唯一方法就是把它完全弄明白,对它进行设计和制定计划,然后执行此计划。有时我们确实取得了很大的成功,但是当发布时间逼近时仍有问题阻止着开发的进行。我们觉得我们总不能提前做足充分的准备。

90年代,迭代开发开始复苏。我们采用短周期工作方式,与客户保持密切的沟通。1999年极限编程伴随着一系列支持迭代的工程项目产生了。虽然还没成为主流,但极限编程已描述出了软件如何逐步地被开发,并指出要把大部分精力放在编码中,使开发进程可视化,同时保持软件的高质量。

Scrum在使开发人员意识到敏捷的过程中起了很大的作用。Scrum促成了一个强健的开发软件的方法。真希望在15年以前我很艰难地帮助我的雇主由混乱开发模式转向瀑布开发模式时,我就知道了Scrum。

记者:自敏捷宣言诞生近十年来,您觉得什么事件可以称之为敏捷开发的里程碑事件?

James Grenning:我认为在敏捷宣言诞生之前,就已经有很多里程碑事件了。敏捷已经引导很多有激情的开发人员尝试着提高我们的开发技能。全世界开发人员为了找到更好的软件开发方法作出了很多努力。这些激情的开发人员创立了敏捷开发史上一个个小小的里程碑。

记者:作为嵌入式软件方面的专家,您能介绍一下敏捷在这个领域的应用情况吗?

James Grenning:当我首次听到Kent Beck,Martin Fowler和Ron Jeffries描述如何进行极限编程时,我联想到嵌入式开发。他们谈到的技术确实可以帮助嵌入式开发人员。Test First与模拟对象的使用意味着在代码构建过程中就可以测试它们。在嵌入式开发中,我们经常要等与软件相关的硬件搭建好后才能去测试代码,这一等就是好几个月。依靠Test First方法(现在称为测试驱动开发),我们现在就可以让代码运行起来,以便当我们把代码移植到硬件上时,它可以很好的工作。我们还可以利用可执行的用例显示工作进度。

现在,敏捷意识正在嵌入式开发社区中不断增强。但敏捷仍处在早期接受阶段。一些在桌面程序开发中采用敏捷的公司现在都在建议嵌入式开发团队使用敏捷方法。敏捷正在帮助嵌入式开发团队获得价值。

记者:我们了解到您正在写一本关于在嵌入式软件开发中应用TDD的书,您能给我们介绍一下它吗?

James Grenning:我的这本书《Test Driven Development for Embedded C》已经完成了。为了它我付出了大量的工作,它很值得一看,因为我觉得它是嵌入式开发人员学习TDD很好的入门教材。嵌入式开发人员可以通过阅读其他众多的关于TDD的好的书籍来学习它。但是我这本书的独特之处在于它是专门针对嵌入式开发人员而编写的。这本书使用他们的语言C语言编写而成,还包含很多专业术语和范例问题。使用非嵌入式C语言开发的人员也可以阅读这本书。现在几乎有500人已经从这本书的电子Beta版本中获益了(http://pragprog.com/titles/jgade/)。

记者:你对未来几年敏捷的发展情况有什么预测呢?

James Grenning:我认为很多团队能够并将从敏捷中获益。当很多团队无法从中获益时,敏捷将受到指责。像任何一种标签一样,敏捷也会被滥用、曲解。我更喜欢把敏捷看作是可以使你开发出满足客户需求的产品并可以让开发人员在合理需求下高效工作的管理方法,而不是让你及团队变得如何敏捷。不切实际的需求会导致严重、代价沉重的缺陷,是很多软件开发失败的根源。各个企业必须了解高质量工作与符合实际的需求所带来的价值。它并不是关于敏捷的,而是关于如何把工作做得更好。