InfoQ

新闻

精益求精——敏捷宣言的第五项价值?

作者 Mike Bria 译者 郑柯 发布于 2008年8月23日 上午9时52分

社区
Agile
主题
编程,
敏捷技术
标签
敏捷宣言,
Agile2008

人称“Bob大叔”的Robert Martin再次掀起了讨论“编程的职业水准”的声浪,他提出“敏捷宣言”应该加入第五项价值:“精益求精胜过按部就班”。

“Bob大叔”在多伦多举行的Agile2008大会上发表了主题演讲,他提议敏捷宣言应加入第五项价值:“精益求精胜过敷衍了事(Craftsmanship over Crap)”。他解释说,这项价值表明:在开发软件特别是在编写代码时,有精益求精的态度非常重要,这远胜过仅仅开发出可用但是见不得人的丑陋代码。

一周之后,Bob大叔找机会澄清了他的想法,并修正了自己在多伦多提出来的新价值:

我的提议的额外难题在于,它不是一个平衡的价值表述。其他四句表述中,我们同样认为后者有价值,不过我们更重视前者的价值。可在我提出的建议中,敷衍了事对于我们来说没有任何价值。

原来的提议更注重戏剧效果,所以我要把它改成:

  • 精益求精胜过按部就班(Craftsmanship over Execution)

大多数软件开发团队都是按部就班,按命令办事,但是他们并没有真正投入到工作中去。我们重视按部就班,但是精益求精的态度更为宝贵。

许多人都回应了Bob大叔的文章,提出了他们对于被贬低的原有说法“敷衍了事”的修订,其中包括:(精益求精胜过)个人英雄主义、可用代码、唯工程化、奇技淫巧、险中求胜、效率优先、数量第一、辛苦劳作、缴械投降,甚至还有东拼西凑。

不久之前,Brian Marick提出了类似的建议,他认为:敏捷团队应该重视技能、修炼、灵性和快乐,并以此作为当前敏捷宣言的补充。多年来,在提到软件开发时,Pete McBreen一直用“craftsmanship”一词强调个人技能的重要性。Sean Hanly在文章《禅与软件开发的艺术》中提出 “质量更胜数量”,并论证了敏捷如何能够支持“精益求精”。这几年里,很多人都已经提出了类似的观点,虽然形式不同,但其本质都是认同“将软件作为一门手艺”这样的说法。

简短截说,敏捷软件开发越来越重视“程序员的职业水准”,这并不是什么全新的观念了。极限编程提出一系列技术实践,就是为了达到这个目的。Scrum强调“技术卓越性”,还有很多其他的例子。问题在于:为什么有那么多团队都做不到这一点?是不是太过隐晦了?为敏捷宣言加入第五条价值能使之显现出来么?它会不会造成不良影响?欢迎读者分享对于此话题的想法和意见。

查看英文原文:Craftsmanship - the Fifth Agile Manifesto Value


作者Mike Bria在英文站新闻后的评论中认为:

真奇怪,这似乎一直没有受到多少关注。……不过这就是现状。我是说,这么长时间以来,这本应该是我们这个行业最重要的一个话题(真不幸),可似乎总是没什么人关注(更不幸)。结果,它就继续成为“我们面临的最严重的问题”了。由是观之,是先有鸡,还是先有蛋呢?

言听计从? 发表人 wang zaixiang 发表于 2008年8月24日 下午8时10分
Re: 言听计从? 发表人 小 熊 发表于 2008年8月24日 下午8时46分
  1. 返回顶部

    言听计从?

    2008年8月24日 下午8时10分 发表人 wang zaixiang

    Execution翻译成”言听计从”,失去了原有的意思。应该是“精益求精胜于完成功能”,毫无疑问,这也只能是真正的技术高手们才能追求的境界,在真正的项目开发中,以及一般的技术水平情况下,“精益求精”是一个Mission Impossible,即使对技术牛人,“精益求精”也是永无止境的。所以,我觉得,还是应该 Execution then Craftsmanship

  2. 返回顶部

    Re: 言听计从?

    2008年8月24日 下午8时46分 发表人 小 熊

    若将Execution改译为“按部就班”如何? 至于精益求精的过程,我想是融合在许多细节之中的,比如重构,etc…… 所以问题的关键在于平衡,很难定义出一定之规,而是要靠不断学习,不断反馈,持续改善

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。