写点什么

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

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

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

关注

评论

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

Java 在Word中合并单元格时删除重复值

在下毛毛雨

java; 合并单元格 删除重复值

一文读懂配置管理(CM)

SEAL安全

企业安全 企业it安全 代码安全

一名合格的程序员是如何优雅地解决线上问题的?

程序员小毕

Java 程序员 架构 程序人生 后端

开源一夏 | 牛plus,多层嵌套动态JSON该如何解析总结

知识浅谈

开源 8月月更

Dapr在Java中的实践 之 环境准备

万猫学社

微服务 dapr Sidecar

Dapr在Java中的实践 之 服务调用

万猫学社

微服务 dapr Sidecar

易周金融分析 | 互联网系小贷平台密集增资;上半年银行理财子公司综合评价指数发布

易观分析

金融 分析 易周金融

【LeetCode】受限条件下可到达节点的数目Java题解

Albert

LeetCode 8月月更

业务缓存之体系化设计与开发

Qunar技术沙龙

系统开发

PWA 应用 Service Worker 缓存的一些可选策略和使用场景

汪子熙

typescript 前端开发 angular Service Worker 8月月更

使用类似搭积木的低代码开发方式进行 SAP API 开发

汪子熙

低代码 云平台 SAP 8月月更 low-code

K8S之Flannel的vxlan网络模式初步源码解析

k8s flannel 签约计划第三季

Kubernetes资源编排系列之四: CRD+Operator篇

阿里云大数据AI技术

大数据 运维

写给 Java 程序员的前端 Promise 教程

江南一点雨

Java spring 前端 springboot Promise

5S软件就是将软件应用全维度简单化的软件系统

BizFree

k8s 敏捷开发 软件架构 高性能 快捷调试

Spring(五、注解开发)

开源 8月月更

以技术御风险,护航云原生 | 同创永益 X 博云举办产品联合发布会

BoCloud博云

云计算 容器 云原生

STM32的内存管理相关(内存架构,内存管理,map文件分析)

矜辰所致

内存 stm32 Flash 8月月更

左益豪:用代码创造一个新世界|OneFlow U

OneFlow

实习 社区之星

自动驾驶中的SLAM

博文视点Broadview

结合“xPlus”探讨软件架构的创新与变革

BizFree

敏捷开发 软件架构 数字化 信息化 软件定制

转转商品系统高并发实战(数据篇)

转转技术团队

分布式 高并发

海外邮件发送指南(一)

极光GPTBots-极光推送

消息推送 邮件 SendCloud

在SAP分析云里根据业务数据绘制词云(Word Cloud)

汪子熙

SaaS SAP 词云 8月月更 word-cloud

分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介

BizFree

软件开发 快速开发 低代码开发 个性化 应用开发

如何用建木CI构建前端E2E质量自查

Jianmu

DevOps 前端 持续集成 代码质量 自动化测试

Dapr在Java中的实践 之 状态管理

万猫学社

Java 微服务 dapr Sidecar

云原生系列五:Kafka 集群数据迁移基于Kubernetes的内部

叶秋学长

kafka 开源 Kubernetes 8月月更

RT-Thread记录(三、RT-Thread 线程操作函数及线程管理与FreeRTOS的比较)

矜辰所致

RTT RT-Thread 8月月更 线程操作

开源一夏 | 使用 JavaScript 和 CSS 做一个图片转 PDF 的转换器

海拥(haiyong.site)

JavaScript 开源 前端 8月月更

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