写点什么

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

  • 2008-08-23
  • 本文字数:1097 字

    阅读完需:约 4 分钟

人称“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 在英文站新闻后的评论中认为:

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

2008-08-23 09:521661
用户头像

发布了 479 篇内容, 共 176.2 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

带你读AI论文:基于Transformer的直线段检测

华为云开发者联盟

模型 目标检测 Transformer 线段检测 LETR

探究Presto SQL引擎(1)-巧用Antlr

vivo互联网技术

sql 编译器 presto antlr4

从0开始的TypeScriptの三:TS的类型

空城机

typescript 大前端 8月日更

卷向字节码-Java异常到底是怎么被处理的?

why技术

Java JVM

OAuth2.0授权码模式实战

码农参上

OAuth 2.0 8月日更

【LeetCode】0~n-1中缺失的数字Java题解

Albert

算法 LeetCode 8月日更

破解三大安防视频痛点,看华为4大硬核视频上云技术

华为云开发者联盟

视频 华为云视频 安防 摄像头 安防视频

百度BaikalDB在同程艺龙的成功应用实践剖析

百度Geek说

数据库 架构 后端

Go 学习笔记之 Goroutines

架构精进之路

Go 语言 8月日更

百度AI原生云实践: 基于容器云打造 AI 开发基础设施

百度开发者中心

AI 最佳实践 方法论 云原生

从外卖员到程序员,自学3年终于转行成功,三面“拿下”拼多多

Java~~~

Java spring 面试 微服务 JVM

Alibaba内部出品“Java初学者宝典”,让你就业没压力

Java~~~

Java 面试 JVM 多线程 架构师

带你了解Go怎样实现二级缓存

Regan Yue

redis 二级缓存 Go 语言 8月日更

网络攻击的高频出现,高防服务器是最佳的选择

九河云安全

WeLink的杀手锏和远程办公软件的另一面

华为云开发者联盟

远程办公 华为云 welink 视频会议 数字化办公

四色建模:用户转化率 KPI

escray

学习 极客时间 如何落地业务建模 8月日更 四色建模

TCP如何保证数据的可靠传输

W🌥

计算机网络 TCP/IP 8月日更

写作 7 堂课——【5. 结构化写作】

LeifChen

写作技巧 8月日更 结构化

趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解

ベ布小禅

8月日更

价值连城 人工智能的通识课 - 吴恩达Andrew Ng AI For Everyone John 易筋 ARTS 打卡 Week 59

John(易筋)

ARTS 打卡计划

当 CloudQuery 遇到大数据

BinTools图尔兹

大数据 hive ES 数据库管理

Vue进阶(二十三):Promise 详解

No Silver Bullet

Vue Promise 异步请求 8月日更

c++ list 详解

若尘

c++ List 8月日更

模型训练语料少?知识蒸馏解决烦恼

LigaAI

人工智能 神经网络 深度学习 模型训练 nlp

Vue进阶(二十一):ES6 知识储备

No Silver Bullet

Vue ES6 8月日更

生产环境全链路压测平台Takin

TakinTalks稳定性社区

开源 高可用 全链路压测 性能压测

Compose管理状态

Changing Lin

8月日更

教你如何使用FusionInsight SqoopShell

华为云开发者联盟

sqoop Shell FusionInsight 脚本 Loader

黑科技解密!实现socket进程间迁移

Java 程序员 架构 面试 架构师

索信达控股:打造新一代中小银行智能营销平台体系的道与术

索信达控股

中间件运维之故障自愈

安第斯智能云

运维 后端 中间件

精益求精——敏捷宣言的第五项价值?_研发效能_Mike Bria_InfoQ精选文章