写点什么

克服范式,达成真正的敏捷

  • 2016-07-13
  • 本文字数:3340 字

    阅读完需:约 11 分钟

Arie van Bennekum 提出;“你需要真正的敏捷,为转变为此你需要克服范式”。van Bennekum 是敏捷软件开发宣言的作者之一、Van Wemanity 集团的思想领袖。他在 Spark the Change 伦敦 2016 大会的报告中,将敏捷开发比作为新陈代谢。

Van Bennekum 指出为取得成功,需“达成敏捷”而非“去做敏捷”。克服范式是十分必要的;为了达成敏捷,人们需要正确的心态。敏捷是一种基于敏捷软件开发宣言的、在价值和原则上的互动理念。Van Bennekum 声称:“技术促进了敏捷起作用,但是工具并不能使你达成敏捷。”,敏捷并非是仅去实现一件事情,而是一种增进企业适应性的变革。

一些人也分享了他们关于转变为和达成敏捷的观点。Vijaya Devi 在她的一篇关于企业采纳敏捷开发方法的文章中写道:

关于敏捷的神话之一是,人们和企业倾向于相信通过对诸如日常 Scrum、Sprint 周期及回顾会等一系列活动的实践,他们就能达成敏捷。恰恰相反,想达成真正的敏捷的公司需要转变它们的心态。

十种敏捷失败之路 一文中,Oren Kdoshim 和 Ilan KirschenbaumIn 对如何达成敏捷给出了他们的解释:

达成敏捷是一个困难的事情。这需要面对很多挑战,这里给出其中的几个,包括:需要持续地实践、打破旧的习惯,以及采用新的心态等。在企业中这意味着对企业文化进行调整,需要投入大量的精力。

与 Mario E. Moreira 的访谈一文中,InfoQ 就达成敏捷的商业利益所在咨询了 Mario E. Moreira:

达成敏捷的首要商业利益在于,你开始真正地理解客户价值是什么样的。你将变得高度关注和理解何事对客户具有价值,并用更小的软件增量改进去构建、验证和改进产品,这样你所交付的产品将恰好看齐于客户的价值所在。如果你做到了如此(将你构建的软件产品与客户认为其价值所在恰好看齐),企业最终将可挣更多的钱。这可能就是敏捷所不为人知的小秘密。

InfoQ 对 Belinda Waldock《在商业中达成敏捷》一书的访谈中,Belinda Waldock 阐述了达成敏捷是如何有助于人们预见改变并在未知中正确前行的:

敏捷有助于我们看清工作和环境中的趋势及模式,这样我们可开始了解项目的节奏和流程,并能以预测未来可能会发生什么。使用敏捷有助于团队内的交流和对信息及洞察力的分析,并且许多伴随着变化和不确定性而来的痛苦都可被使用敏捷的团队所处理。总存在一些我们所不能预测的事情,但是通过使用敏捷,我们能放缓软件构建过程以规划这些不确定性。

InfoQ 就此访谈了 Arie van Bennekum,所涉及的话题包括:其在软件产业内所见到的关乎敏捷的主要变化,为什么人们感到难以接受范式的偏移,敏捷价值和原则的成功实例及服务型领导的采纳,如何增进公司范围内的合作,公司培育敏捷心态的做法等。

InfoQ:你是敏捷软件开发宣言的签署者之一。在软件产业中你看到了哪些与敏捷相关的主要变化?

Arie van Bennekum:首先,行业内涌现了对承担职责的渴求。现在无论我走到那里,每个企业都至少在某些地方上具有达成敏捷的积极性。我们都了解重大的事件,但却常常不记得引发这些事件的火花。这些火花通常是由项目执行层面的人所引发。看到团队中更多的人逐渐地渴求去承担职责,这是很棒的事情。

其次,当前具有一个普遍共识,就是我们需要更短时间去走向市场。越来越多的企业转向更短的交付周期。虽然在我们撰写敏捷软件开发宣言之前,我们中的大多数人就试图去解决这个问题,但不幸的是时间和预算依然超支。不过认识到了该问题这也是向正确方向前进的一步。

InfoQ:为什么当人们工作于团队中或者是在管理团队时,感到难以去接受范式的偏移?

Van Bennekum: 说实话,我并非一个治疗师,但你也能对模式进行观察。我们太长时间地处于独立的筒仓式工作的状态。有趣的是在足球赛中,我们都能看见每个人都多元化的,他们可互相配合,为共同的团队目标而努力。

当我们工作时,我们却躲进了筒仓。就我所见而言这种筒仓是由传统的管理方式所导致的。这种管理出现于一个世纪以前,基于经理在项目中知晓并决定一切的观点。筒仓是安全的(清晰地给出了你必须要做的工作),可为你给出工作的状态,对工作中是否进入或离开筒仓具有清晰的处理方式(纸面材料和签名)。

团队工作,就是我们作为一个团队而工作,具有一套事情去做,服务于一个共享的目标,并在其中现场决定团队中谁应承担承担什么的工作,这对我们而言已不仅仅是一种工作方式。我们市场尝试去走出筒仓并如上去开展工作,但一旦有事情出错,作为标准的条件反射而言我们将会重新躲回我们的筒仓中、恢复到旧的模式、文档、工作交接等。这就是为什么我使用“新陈代谢”一词的原因……

InfoQ:在此你能给出在公司中成功实现了敏捷价值和原则的一个例子吗?为此他们采取了怎样的做法?

Van Bennekum: 我能给出一些例子,但是我并不确认这些公司是否愿意公开它们,所以在这里我并不会给出具体的公司名称。我将给出在各类的公司中使用敏捷转换的三个实例来解释这个问题,这三个实例分别发生在一个大型的零售商、一个中等规模的能源提供商和一个大型的技术企业中。

克服范式是十分重要的。这包括管理范式、开发范式、职责中的范式等。为做到这一点,你需要使以下三件事情到位。

首先,垂直提交对于敏捷工作而言是十分重要的。诸如透明度、固有规程、可视化、优先次序等方面不仅需要管理层的支持;也必须由管理层将这些方面进行角色模型化。尤其是经历了旧有的层次型文化,人们倾向于去拷贝管理行为。这也是为什么当我们在敏捷转化中对团队和个人进行指导时,我们(当然是与其它活动组合在一起)必须在各个层级对管理付出特别的关注。

其次是环境的安全性;人们只有在感觉足够安全时,才敢于尝试错误。学习意味着去尝试、开发、犯错误等,并且做这些需要假以时日。对此人们的标准条件反射是掉回到旧的模式中去。当你没有时间去犯错误并且管理层也不支持时,人们将遵循上述的条件反射行为,这使得改变成为不可能。

第三,除非企业深陷危机,否则我们在事实上更乐于去依照企业原有方式而工作。我们让人员处于自身的安全环境中,并在开发的浪潮中启动改变。其中的经验教训,尤其是关于如何进行改变的,就是如果仅将改变推动到团队中,企业是不会真正使其持续下去的。

InfoQ:是什么使得采用服务型管理取得成功?

Van Bennekum: 证据……管理者们需要证据(绝大部分时间下)。包括:案例研究,参考资料,参观访问相似的处理领域,尤其是针对有助于克服类似于“非我所创”和“好主意但是不适用于我们”之类的事情。顺便说一下,这不仅仅是针对管理者的。很多人都需要其各自的专业领域内的证据,即使如此你还将会听到不少由“虽然如此但是”所引出的说法。

InfoQ:打破企业各部门间的隔离墙是一项十分具有挑战性的工作。你对完成这个目标以增进企业范围内的合作有什么好的见解吗?

Van Bennekum: 心跳是十分必要的。所有的利益相关者需要参与进来,他们是在传统开发过程序列(无论你开发什么产品)中具有话语权的人。结合我对上一个问题的回答,我可对这个问题的做如下的解答。

正如上面所说的,我们将保持公司的原样。我们改变了项目或其他开发类型中的交流方式。我们将除去序列,并与所有利益相关者一起在多元化团队工作。这些利益相关者依旧在相关部门中任职,但在团队中,他们已授权在必要时可在他们各自的领域中进行决策、接纳或改变。这样考虑到了开发人员以及架构师、法务部、企业营销传播,只要他们是开发过程中任何过程的利益相关者。

心跳就是将所有团队中所有授权为利益相关者的人聚集在一起的时刻(这样他们可从源头得到信息)。从我们建立产品待做事项及设计原则的早期时刻,一直到最终产品的交付,这些心跳 (最好每个星期一次)就是我们取得成功的要素。

InfoQ:最后你对企业如何去培育敏捷心态还有什么建议吗?

Van Bennekum: 我常常听到人们说诸如“这不适用于我们”之类的话。事实上敏捷工作使你具备响应力。你需要在动态发展的当前和未来世界中具有响应力,这是无法回避的。就敏捷而言,永远不要接受“这不适用于我们”之类的说法。时常合作共事以寻求解决问题的方法。

查看英文原文: Overcoming Paradigms to Become Truly Agile


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-13 19:001237
用户头像

发布了 227 篇内容, 共 73.9 次阅读, 收获喜欢 28 次。

关注

评论

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

dart系列之:dart中的异步编程

程序那些事

flutter dart 程序那些事 11月日更

【Redis集群原理专题】(1)介绍一下常用的Redis集群机制方案的原理和分析

洛神灬殇

集群 redis cluster redis sentinel 11月日更

requests-html库初识 + 无资料解BUG之 I/O error : encoder error,Python爬虫第30例

梦想橡皮擦

11月日更

Prometheus Exporter (三)容器信息监控

耳东@Erdong

container Prometheus exporter 11月日更 cAdvisor

自定义View:如何手写ViewGroup实现ListView效果

Changing Lin

11月日更

Go语言学习查缺补漏ing Day2

Regan Yue

Go 语言 11月日更

CentOS环境下Redis的安装和配置

Empty

redis

数据库版本控制中间件flyway企业落地

小鲍侃java

11月日更

kafka常用命令

williamcai

kafka

【Flutter 专题】03 图解第一个程序 Hello World!

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

网络安全—如何从IP源地址角度,预防DDoS攻击?

郑州埃文科技

Hive数据抽样与存储格式详解

五分钟学大数据

11月日更

Redis 实现限流的三种方式

大数据技术指南

11月日更

基于海思Hi3559A或者Atlas_200模块,Hi3559A(主)+Atlas_200(从)开发AI加速边缘计算主板的三种模式

Todd Wong

人工智能 深度学习

一些关于原宇宙的思考

Simon

元宇宙 Metaverse

参与tdengine开源的方式

williamcai

fork git 学习

Prometheus 都可以采集那些指标?-- 常用 Exporter 合集

耳东@Erdong

内容合集

别被你的框架框住了

Teobler

angular.js 大前端 React 框架 编程范式

【LeetCode】最长和谐子序列Java题解

Albert

算法 LeetCode 11月日更

[Pulsar] ChunkMessageID介绍及其原理

Zike Yang

Apache Pulsar 11月日更

前端开发:VS Code编辑器新建Vue文件自定义模板的方法

三掌柜

11月日更

【架构实战营】模块四

衣谷

架构实战营

模块四作业:千万级学生管理系统的考试试卷存储方案

dean

架构实战营

Go 的 Panics 处理

baiyutang

golang 11月日更

搞定大厂算法面试之leetcode精讲1.开篇介绍

全栈潇晨

算法面经

通过USB接入双目UVC协议外接人脸比对相机实现1:1比对开发

Todd Wong

数字化办公

CSS架构揭秘之Ant design

Augus

CSS 11月日更

Android C++系列:Linux文件系统(二)

轻口味

c++ android jni 11月日更

自动驾驶 传感器和计算硬件 易筋 ARTS 打卡 Week 76

John(易筋)

ARTS 打卡计划 arts

面试必备(背)--Go语言八股文系列!

微客鸟窝

Go 语言 八股文 11月日更

十分钟搞懂WebAssembly

俞凡

Wasm

克服范式,达成真正的敏捷_文化 & 方法_Ben Linders_InfoQ精选文章