北美软件工艺大会

  • Amr Elssamadisy
  • 金明

2009 年 6 月 27 日

话题:敏捷DevOps语言 & 开发架构文化 & 方法

北美软件工艺大会(Software Craftsmanship North America,SCNA)是一个为期一天的会议,目的是向软件工艺运动介绍敏捷社区。有趣的是, SCNA 将和敏捷大会在同一时间在同一个城市举行,许多 SCNA 的发言者也将在敏捷大会上发言。

InfoQ 有幸采访了 SCNA 的组织者之一 Dave Hoover,让我们的读者更好地了解大会,知道什么样的人适合参加本次大会。

InfoQ :软件工艺大会的目标是什么?

Dave:对于今年的 SCNA,我们的目标是把敏捷社区介绍给软件工艺运动。说到“我们的目标”,我指的是今年会议组织者的目标,包括 Corey Hainese、Paul Pagal、Micah Martin、Kat Nelson-Reid、Kevin Taylor 和我本人。

InfoQ :相对于同一时间在同一座城市举办的敏捷大会,软件工艺大会有什么亮点吸引听众?

Dave :回归极限编程的本质,这是软件工艺运动当前的潮流之一。如果你对此感兴趣,SCNA 将为你提供一些独特的学习机会。如果你更希望成为世界顶级软件开发人员,而不是做敏捷项目经理、教练或者培训师,SCNA 的会议安排更适合你。我们已经组建了一个令人兴奋的讲演者阵容,他们的发言将帮助 SCNA 与会者了解精通软件开发需要的技艺。对于今年的大会,我的个人目标之一是在“程序员:年届 40 之前,获得 B 计划”的发言中解释一些与年龄相关的主题。我希望 SCNA 的与会者可以聚在一起,倾听业内大师的意见,明白这样一种可能性:人们可以在软件开发的整个职业生涯中都保持对技术的热衷。我希望人们能认识到,如果有一个“老师傅”坐阵军中,典型软件项目里面困扰整个团队的大部分麻烦就能烟消云散。

InfoQ :谁是大会的目标受众?只是开发人员吗?

Dave:不,目标受众不局限于开发人员。我们将有一个着重讲解业务方面软件工艺的议程,以及由 Richard Sennett 和 Christopher Avery 带来的几个议程——他们虽然没有直接从事软件行业,但却有很多可以传授给我们。我相信企业家、小企业主、开发经理和技术负责人在 SCNA 也能获悉一些独特的见解。软件工艺虽然关注的是开发人员,但也会设计很多如何围绕着少部分工艺人员组建团队和项目的方面的内容。我们当然期待着大部分的与会者都是软件工艺者,这些人渴望精通软件开发的工艺。这就需要学习许多角色的技能,包括测试人员、项目经理、销售人员,营销人员和业务分析师。由于软件开发中最基本的活动是编写代码,这些角色更倾向于拥有一定的开发背景。因此,会议内容会主要面向开发人员。

InfoQ :我们会学习如何写代码吗?还是学习软件过程?抑或学习过程背后的东西,如价值观和原则?

Dave:由于会议组织比较仓促,我们决定只通过邀请的方式来选择演讲者。我们认为我们已经召集了一个强大的发言者阵容,既涵盖了像 Fred George 这样的大师级专家,也包括像 Cory Foy 这样技艺纯熟的人,他们都是我们社区学习的榜样。在自己 30 分钟的议题时间之内,发言者可以选择谈论任何话题。我想整个会议会掺杂着技术、过程和思想等多方面主题。

InfoQ :能讲讲工艺运动产生的背景么?

Dave:软件工艺运动是由一些开发领域内的思想领袖倡导的。我第一次接触到软件工艺,是在 2002 年的时候读了 Pete McBreen 的书软件工艺。对于有志于在软件开发领域获得长远成功的人士,我认为此书是他们的案上必读物。不过当那本书刚出现的时候,却像是荒野中的一丝声音,应者寥寥。书中的观念太理想化,所以我知道虽然这本书激发起了很多人的兴趣,但却不认为会有很多人去践行其中的理想。软件工艺的先驱者,比如 RoleModel 软件公司的 Ken Auer 和 Atomic Object 的 Carl Erickson,他们在 Pete 的书出版之前,就已经围绕着软件工艺的原则来构建他们的团队和业务。但始终以大力宣扬软件工艺为己任的人是 Robert Martin。正是 Bob 大叔,他在 2008 年敏捷大会的发言上面,呼吁敏捷宣言增加第五项价值: 精益求精胜于敷衍塞责 。自 2005 年以来,Bob 大叔一直在推动着软件工艺运动,还写了一篇下一件大事的博客。

继 Bob 大叔去年的主题演讲以后,软件工艺运动开始蓬勃发展。一家软件开发公司 8th Light 按照软件工艺原则成立,开始维护一个用户组和一个邮件列表,并最终在 2008 年 12 月举办了软件工艺峰会。最后,Doug Bradbury 根据峰会上面大家提出的意见撰写了软件工艺宣言 。与此同时,Corey Haines 开始了他的结对编程之旅,帮助传播软件工艺的思想。迄今他已访问了几十个人、团队和城市。Corey 启发了 Obtiva 和 8th Light,把小型旅行或者工匠互换作为一种手段,传播知识,同时了解软件工艺社区中不同公司、团队和个人的工作方式。这些做法非常成功,我们期待着扩大愿意互换工匠的公司范围,并很高兴像 Hashrocket 和 Relevance 的公司已表示对此有兴趣。同样,Corey 激励了其他的独立软件开发人员去做小型旅行,以加速他们的学习,并在社区之内传播他们的知识。

InfoQ :这个运动能给敏捷社区带来一些什么东西,是敏捷社区之前所缺失的?

Dave:我认为,软件工艺的价值、原则和实践和敏捷软件开发基本上是正交的关系。尽管如此,对软件工艺社区的很多人而言,这两者是密切交织在一起的。对于这些人,软件工艺是对敏捷本质的回归,极限编程最初出现在世人面前时,也是强调以开发人员为核心的全新软件开发方法。对于我来说,软件工艺的魅力来自它对高超技艺的强调,它还能使我们认识到这样一个遗憾:只有很少几个精通工艺的人可供我们学习(我们也需要做些事情来改善)。我在 2002 年无意中接触到极限编程和软件工艺,XP 教会我代码和项目层面的技术,提高了我作为开发人员和团队成员的效率,软件工艺则让我理解到我只是一名学徒,还要付出几十年的时间来学习提高。归根结底,我的技术将不断进步,但从软件工艺体会到的思想将会在很长一段时间里面陪伴我。

InfoQ :是否有人同时出席敏捷和 SC 大会?两个会是重叠,抑或补充的关系?

Dave: SCNA 与敏捷 2009 大会实际只有一条街的距离,安排在那个礼拜的中间一天。很可能有人既在与 SCNA 同一天的敏捷 2009 大会做了发言,又来参加 SCNA。大会之间应该不会有很多相互重叠的内容,但它们肯定是相互补充的。此外,一个主要的区别是,SCNA 大会仅仅为期一天,而敏捷大会持续一周。

软件工艺社区正在持续发展。Dave Hoover 让我们了解到大会的目标、软件工艺运动的一些历史,以及为什么社区中很多人可能要参加这次为期一天的会议。

查看英文原文: 北美软件工艺大会

敏捷DevOps语言 & 开发架构文化 & 方法