写点什么

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

  • 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:521569
用户头像

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

关注

评论

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

自动源代码质量度量(ISO/IEC 5055)

Tom(⊙o⊙)

软件质量 静态分析

开发知识 | 即时通讯是怎么做到的?

YonBuilder低代码开发平台

大前端 即时通讯 APP开发 小程序制作 开发技巧

Rust从0到1-代码组织-模块

rust modules 模块

2021年处置非法集资部际联席会议:密切关注打着区块链、虚拟货币等旗号的新型风险

CECBC

这份阿里P8技术专家整理的《一面到底》Java岗,GitHub已标星79k

Java架构之路

Java 程序员 架构 面试 编程语言

走完线上 BUG 定位最后一公里

阿里巴巴中间件

可观测性 bug bug修复

Android组件化和插件化开发

寻找生命中的美好

android 组件化 插件化

暴涨暴跌的牛市,普通人怎么和平发育?

CECBC

区块链

架构实战营模块二作业

刁寿钧

架构实战营

阿里巴巴的“双11”高并发秒杀终极版教程!(Java语言设计)

Java 编程 程序员 架构

总是记不住java的IO流用法?用N个问题教你掌握java IO流

华为云开发者联盟

Java 字符串 IO流 字节输入流 字符流

马丁策略倍投软件开发,量化倍投系统

插件化库VirtualAPK详解

寻找生命中的美好

android 插件化 VirtualAPK

Flink的状态一致性

大数据技术指南

flink 4月日更

千人万面奇妙自见:爱奇艺短视频推荐技术中多兴趣召回技术的演变

爱奇艺技术产品团队

推荐 短视频 模型 召回

饿了么EMonitor演进史

阿里巴巴中间件

可观测性 饿了么 emonitor etrace

合约跟单系统搭建,合约一键跟单app

理性看待区块链+大宗商品

CECBC

区块链

真的香!Github一夜爆火被各大厂要求直接下架的面试题库也太全了

Java架构之路

Java 程序员 架构 面试 编程语言

破解class文件的第一步:深入理解JAVA Class文件

华为云开发者联盟

Java JVM 索引 class文件

全网最全 ECMAScript 攻略

清秋

JavaScript ecmascript 大前端 ES6 Ecma

阿里“秘密团队”整理出来的一份Java面试复盘手册!全面复盘在望

Java架构之路

Java 程序员 架构 面试 编程语言

如何从零开始学Python:(7)如何解决发布和上传代码过程中遇到的问题?

广之巅

Python 4月日更

悲观锁与乐观锁的实现(详情图解)

Java架构师迁哥

加密原理详解:对称式加密VS非对称式加密

Java架构师迁哥

Golang Test

escray

学习 极客时间 Go 语言 4月日更

推荐5个4K视频下载网站 (百万优质资源)

科技猫

网站 分享 视频 经验 资源分享

万字精华:好好巩固你的Nginx知识体系

学Java关注我

Java 编程 架构 程序人生 计算机

开发环境上云,打造五星级开发体验

CODING DevOps

Kubernetes 云原生 CODING Nocalhost

4种语义分割数据集Cityscapes上SOTA方法总结

华为云开发者联盟

语义分割 OCR 数据集Cityscapes HRNet SegFix

LiteOS内核源码分析:动态内存之Bestfit分配算法

华为云开发者联盟

LiteOS Huawei LiteOS 动态内存 Bestfit 分配算法

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