写点什么

重构敏捷宣言

  • 2007-05-31
  • 本文字数:1537 字

    阅读完需:约 5 分钟

今年,敏捷宣言已经度过了它六周岁的生日,在敏捷的传播和(不可避免的?)效果弱化的过程中,我们见到了梦想的肥皂泡逐一幻灭。甚至在敏捷成为真正的主流之前,就已经有了关于后敏捷主义(post-agilism)的讨论。有些人建议说,在过去的几年里,我们已经成长了起来,现在该是更新敏捷宣言的时候了。身为敏捷宣言的作者之一的Brian Marick,也给自己在 XPDay Toronto 上讲演的主题命名为:《时隔六年:敏捷宣言几成明日黄花》,并随后在博客中做了详细说明

虽然敏捷宣言中声称“客户协作胜于合同谈判”,但它从一定程度上可以算是对制定合同的一些建议:我们承诺会频繁交付可工作的软件,并且我们也不会因为项目后期的需求变更而牢骚满腹;对应的是,不要用文档、工具和过程这种有时候看上去会对项目有所帮助但实际上并无益处,并一度因为信任度的缺乏而用来监视我们的东西来延缓我们的开发进度。你不需要直接盯着我们的工作,而是应该常常和我们沟通。 在当时,这种说法的出现无异于一剂强心剂,并且推动了项目的成功。但是那个时代已经过去了——敏捷已经大受欢迎,对项目开发而言也成了更加安全的选择。我们现在所面临的挑战已经不再是选用敏捷,而是选用敏捷后如何进行应用。

Marick 接着给出了宣言中所缺少的四种理念:技能纪律舒适 _ 和 _ 快乐。我们在 InfoQ 上曾有过类似的报道:Kent Back 针对如何更加快乐的工作和如何提高对工作的满意度的话题,和其他人进行了讨论。

Ron Jeffries 和 Chet Hendrickson 最近弄出了一个 5 天的训练课程,名为时尚优雅的五日软件开发。当我问起 Ron 为什么社区还需要另外一类 Agile 或 TDD 时,他回答说:

这并不是“另一类 Agile”。这实际上是一个工作间,人们通过观看我和 Chet 协同工作,可以以特殊的方式来了解敏捷,并对它产生兴趣。我们认为完善的软件开发过程应当包括优秀的开发技能和严格的纪律约束,同时还需要大家在轻松的环境下全心投入——这就是我们所说的“时尚优雅”。我们的计划是帮助人们理解我们的目标和完成目标的方式,并且让他们能够通过充分的亲身体验来判断这种方式是否适用于他们自己的开发过程。

Simon Baker 记录了在从前的 Agile Practitioners Forum 中进行的谈话:

在从前的 Agile Practitioners Forum 中,Colin MacAndrew 问了所有人一个问题:“敏捷宣言需要重构吗?” 当时我很高兴,因为着实有不少人站到了它的对立面。现在 Colin 把他的问题变成了敏捷宣言是否应该有所改进,并没有提到要重写宣言,但是仍然有人坚决抵制,这就让我感到奇怪了。我感觉到一场争执的风暴即将来临,确实有举办一次会议的必要了。

Baker 的想法是,敏捷宣言中的一些概念是商务群体很难理解的,如果把精益开发中的一些概念(诸如追求卓越,理解并消除浪费,整体优化和排队理论)加入到敏捷宣言中,就可以解决这个问题。

Jason Yip 的观点则相反,他给出了重构宣言后的一个精简且风趣的版本

  • 让我们互相交谈
  • 让我们构建软件给你看
  • 让我们彼此信任
  • 让我们对正在发生的一切和我们所学到的东西做出响应

敏捷宣言本身应当是敏捷的吗?大多数人应该会同意这个观点,但是当整个敏捷社区的核心价值已经发生了变化的时候,对敏捷宣言的修改就该提上日程了。我们的核心价值变了吗?

不管答案如何,敏捷社区中一些卓有远见的人正在从他们的经验中探寻前行的路,并找出那些在宣言中没有指出的问题。当社区中关于如何构建更优秀的软件的理念在日趋完善的时候,也许敏捷宣言理应反映出这一变化。

查看英文原文: Refactoring the Agile Manifesto

译者简介:李剑中国Eclipse 社区插件开发版版主,在JavaEye 拥有 RCP 专栏,北航软件工程硕士。现就职于 Ethos ,热衷于设计模式,敏捷软件开发的研究与实践。为 InfoQ 中文站贡献内容,请邮件至 china-editorial@infoq.com

2007-05-31 09:002285
用户头像

发布了 197 篇内容, 共 56.4 次阅读, 收获喜欢 20 次。

关注

评论

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

什么是无代码?无代码开发平台又是什么?

积木链小链

无代码 无代码平台

程序员提效的 10 个方法,建议收藏

秃头小帅oi

电子签软件是什么?概念以及主流产品分析

爱吃小舅的鱼

软件

除了邮件钓鱼外,你还知道哪些常见的钓鱼攻击方式?

国科云

如果您干不动跨境外贸独立站,可以来看看反向海淘代购模式

tbapi

反向海淘 反向海淘代购系统 逆向海淘代购系统

全新HUAWEI MatePad 11.5发布:搭载华为教育中心,做更好的学习神器

最新动态

立足云南,面向“两亚”,翻开普惠算力新篇章

九章云极DataCanvas

从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

霍格沃兹测试开发学社

推特账号被冻结怎么办?检查IP是否正常

Ogcloud

云手机 海外云手机 海外原生IP 海外IP

软件测试学习笔记丨Flask框架-接口使用

测试人

flask 软件测试

通义灵码知识库问答增强:知识库构建与管理指南

阿里巴巴云原生

阿里云 云原生 通义灵码

天润融通邀您参加AI破局·聚力增长行业论坛

天润融通

用户增长 AI大模型 用户运营 天润融通

如何解决SD-WAN安全问题?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

LeetCode题解:2648. 生成斐波那契数列,迭代+递归,超详细解析

Lee Chen

鸿蒙开发案例:打地鼠

zhongcx

知识管理系统是什么?

ServiceDesk_Plus

知识管理系统 知识管理软件

薅羊毛了!百万度算力免费申领活动狂欢继续!

九章云极DataCanvas

新技术如何解决体育直播平台开发中的五大难题?

软件开发-梦幻运营部

云原生开源开发者沙龙丨AI 应用工程化专场杭州站邀您参会

阿里巴巴云原生

阿里云 云原生

实时特征框架的生产实践|得物技术

得物技术

flink 性能优化 数据平台 特征框架

曹操出行借助 ApsaraMQ for Kafka Serverless 提升效率,成本节省超 20%

阿里巴巴云原生

阿里云 云原生

数据结构 - 散列表,三探之代码实现

不在线第一只蜗牛

数据结构

使用docker搭建ELK分布式日志同步方案

EquatorCoco

Docker 容器

解锁低成本数据库归档方案,Databend 受邀参加 TiDB 杭州地区交流会精彩回顾

Databend

时序数据库是什么:概念、特点与分类简析

Apache IoTDB

软件测试学习笔记丨Flask框架-请求与响应

测试人

flask 软件测试

spring-关于组件的注入及获取流程

快乐非自愿限量之名

Java Spring Boot 后端

如何通过指标驱动研发体系建设

思码逸研发效能

DevOps 研发效能 效能度量 研发效能管理 思码逸

如何成为一名优秀的程序员,进来看看

伤感汤姆布利柏

通义灵码知识库问答增强:知识库构建与管理指南

阿里云云效

阿里云 云原生 通义灵码

Java Pom两个模块需要互相引用怎么办

快乐非自愿限量之名

Java Python 前端

重构敏捷宣言_研发效能_Amr Elssamadisy_InfoQ精选文章