10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Liz Keogh:敏捷十年——对失败的预言,以及预言的失败

  • 2011-09-16
  • 本文字数:1647 字

    阅读完需:约 5 分钟

本文属于 InfoQ 发布的敏捷宣言10 周年系列文章

在我的职业生涯第一个七年中,我所参加的项目仍保有很多瀑布式的习惯。七年的时间,我坐在电脑屏幕前,一个键一个键敲出代码,在地下室里,直到夜晚,有时甚至是周末;而且这七年里我开发的任何东西都没有转化成产品。项目有无数新增特性,它们被重新启动,被置之高阁,曾有某个项目进入到了诉讼阶段,但是没有一个人用过我这七年里开发的任何东西。

所以当我第一次遇到敏捷的时候,像很多运动的新来者一样,我充满热情。“你们做错了!那样不行的!”我大喊着,看着那些公司,它们无法拥抱全新的、增量式的、协作式的软件开发方法。当时的社区普遍流行这样的态度。预言已经写下来了:无法变革的公司将会无法生存。

敏捷宣言写成到现在已经十年了,很多公司还是无法高效地交付软件。某些这样的公司“在做敏捷”。其他公司仍挣扎于它们长达数年的项目中,依旧使用项目前期进行分析、设计的方法。但是它们还活着。

敏捷宣言的开头是:“通过自己践行并帮助别人践行,我们正在发现交付软件更好的方式。”对应到作者们当时应用敏捷方法的上下文,这是可行的。很多是小型团队,坐在一起,而且有互相配合的技能,易于成功。过去这几年,我们不断把敏捷应用到大型的项目和组织中。这些企业大怪兽变起来更慢,如果还可以变的话。Richard Durnall 写了一篇关于敏捷实施模式的博客,说明商业组织各个方面是如何被打破的,而且被迫变革去支撑敏捷实施,包括人、工具、监管、客户、财务控制和组织结构。然而,很多时候,我们看到的是公司的结构对变革流程会强力抵抗。人们保持瀑布式的习惯和思维方式,制定出武断的项目结束时间,并让开发团队严格遵守。人们使用工具而不是对话交流,更不要说记录和支持了。监管部门仍然要求确定性,可这在项目的完整生命周期中很难获得。客户坐在一个办公室里,开发人员在另一个,他们无法顺畅沟通或是提供反馈。财务总监坚持分析必须要先完成,在理论上要保证预算获得好的投资回报。

我们面临的问题是:传统上,瀑布式有一种“自行车式思考方式”。其前提是:软件项目可以通过分析分解成很多小部分,并得以实现,而且这些实现可以组合成一个系统。

不幸的是,“软件项目”并不是分析就可以完成的,分析得到的实现也无法组合得到一个成功的项目。项目的组成包括参与进来的人,他们的想法和阐述,其上下文是由围绕着这些人的其他人创造出来的。然而,这些人并不是项目的资产。Jurgen Apello 在他的书《Management 3.0》中指出:系统的资产通过系统中各个元素的交互浮现出来。只要环境让交互僵化,或是鼓励像层级式这样更简单的交互方式,那么敏捷就无法成功。

如果复杂度无法避免,我们就必须遵循项目中人与人的交互、以及项目之间的交互浮现出的模式。作为社区,我们签署了“个体和交互胜过流程和工具”,然后又强制推行流程来控制交互,同时使用工具而不是交互来支持流程;这样做我们是有罪的。未来,我们传授的实践将会促进交互,而不是控制它们。我们已经看到这样的趋势,比如看板等元流程的兴起。帮助理解复杂度、特别是人的复杂性的模型,也在世界各地的敏捷大会中传授,比如系统化思考、复杂度思考、心理学和社会学等等。

我们需要在组织的更高层次改变的,还有一种实践:让反模式的影响更加明显。在开始时我们语言的变革还没有看到多少。也许在接下来十年中,我们将会看到不同的宣言出现,它的开头是:“通过自己践行并帮助别人践行,我们正在发现推进变革更好的方式。”

关于作者:

Liz Keogh 是一位经验丰富的经验和敏捷教练、培训师、博客写手和知名的国际讲师。她有坚实的技术背景,工作成果覆盖多个领域,包括软件开发、架构,到心理学和系统化思考。她因其在 BDD 社区的积极参与而知名,并在 2010 年获得 Gordon Pask 大奖,理由是加深了敏捷领域中对于现有思想的理解,同时还能“提出自己某些非常疯狂的想法”。


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2011-09-16 00:002572
用户头像

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

关注

评论

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

在线JSON转GraphQL工具

入门小站

工具

Dubbo 框架学习笔记二

风翱

dubbo 12月日更

TDSQL在核心交易系统领域的联合解决方案

腾讯云数据库

tdsql 国产数据库

架构训练营毕业设计-电商秒杀系统

李焕之

前端开发MySQL 数据库之数据引擎

@零度

MySQL 前端

Android C++系列:Linux Socket编程(一)预备知识

轻口味

android 28天写作 12月日更

大数据开发之Spark和Flink的对比(转载)

@零度

大数据 flink spark

Redis(二):内存模型及回收算法

IT巅峰技术

Java redis 架构师 分布式缓存 redis分布式

TDSQL | 云原生时代的数据库技术革命

腾讯云数据库

tdsql 国产数据库

再获信通院权威认证,优等生华为云GaussDB数据库凭什么?

华为云开发者联盟

数据库 opengauss 华为云 GaussDB 信通院

基于SSM+Shiro+Bootstrap实现用户权限管理系统

Bug终结者

Java bootstrap ssm shiro

【SpringCloud技术专题】「Gateway网关系列」(2)微服务网关服务的Gateway功能配置指南分析

码界西柚

api 网关 SpringCloud Gateway netty 12月日更 服务网关

云原生应用管理,像管理手机APP一样管理企业应用

北京好雨科技有限公司

PaaS #Kubernetes# 应用管理

什么是 Java Marker Interface(标记接口)

汪子熙

Java jdk volatile 28天写作 12月日更

详细解读MySQL高性能优化

秋水

MySQL性能优化 内容合集 签约计划第二季

如何利用测试自动化,实现 DevOps?

飞算JavaAI开发助手

MySQL性能优化:EXPLAIN 执行计划与join

秋水

MySQL性能优化 执行计划 内容合集 签约计划第二季

TDSQL | ‘‘微盟式’’SaaS,让商业变得更智慧

腾讯云数据库

tdsql 国产数据库

使用Git将本地项目添加至Git仓库

Bug终结者

Java 实用工具 gitee git version

我还是很怀念谷歌

张老蔫

28天写作

架构实战营-毕业总结

李焕之

运营商行业软件开发| 内容合集

鲸品堂

通信 运营商 技术专题合集

Linux之mkdir命令

入门小站

Linux

java开发之Java ORM 框架推荐

@零度

Java Java ORM ​ObjectiveSQL

权威认可!腾讯云TDSQL通过信通院数据库服务商运维运营服务能力评估

腾讯云数据库

tdsql 国产数据库

智慧园区综合管理平台解决方案,智慧平安社区搭建

电微13828808271

区块链电子合同应用平台开发,区块链电子合同解决方案

电微13828808271

京东白条数据架构进化之路:要在数据的不确定性中探索架构的稳定性

SphereEx

数据库 开源 架构 ShardingSphere 京东白条

讨论:低代码集成OA/ERP/MES系统,或将是企业应用生态的重要一环?

优秀

低代码

TDengine入驻Rainbond开源应用商店

北京好雨科技有限公司

时序数据库 #Kubernetes# rainbond

Linux之pwd命令

入门小站

Linux

Liz Keogh:敏捷十年——对失败的预言,以及预言的失败_研发效能_Shane Hastie_InfoQ精选文章