写点什么

敏捷开发之路

  • 2017-03-21
  • 本文字数:1707 字

    阅读完需:约 6 分钟

Dan Suciu 提出:相较于传统那种迫使团队成员适应一种特殊开发流程的项目管理方案,敏捷开发范式的流程更顺应人类本性。Dan Suciu 是来自 UBB Cluj(一家在线教育网站 http://elearning.ubbcluj.ro/ )的讲师,他在 TopConf Linz 2017 大会上发表了关于 Agilis Humanum Est(To Be Agile is Human) 的演讲。

演讲之初,Suciu 对 Gregory Bateson 关于人类如何基于学习和变化的逻辑层次来进行学习的理论进行了讲解:最初级的层次是了解环境并从中发掘出哪里需要改变;下一层次是接受惯例和学习新的习惯;接下来的层次是提升技巧和能力;之后的层次是建立自己的价值观和信仰。最高的两个逻辑层次致力于塑造价格观和自我定位。

学习新事物的时候都会经历这些逻辑层次。任一逻辑层次中的任何改变都会推动迈向更高的逻辑层次,而更高的逻辑层次也需要不断作出改变。Suciu 以吸烟者尝试戒烟为例,讲述了一个人要改变他的习惯非常困难。如果真的想要戒烟,必须先改变价值观和对于吸烟的观念,之后再去改变吸烟这个行为就会容易的多。

Suciu 阐释了敏捷开发如何映射到 Bateson 的学习模型:敏捷开发的提出始于“发现更好的软件开发方法”的概念。这个概念与当时学习模型所说的环境和概念层次相匹配。基于这个概念,各个组织就可以建立自己的敏捷开发理念和敏捷开发方法。敏捷开发四大价值观根源于这种学习模型的价值观和信念等级。

知道敏捷开发的价值观是值得肯定的,但是如果想要学习像敏捷开发这样新鲜的事物,所需要的不止如此。敏捷开发中的各种原则,正对应了学习模型中技巧和能力层次。有许多惯例和工具可以用来实现敏捷开发原则,这属于行为习惯层次。这些惯例被归类为敏捷方法,例如 Scrum 或 XP,也会有许多书来介绍如何实践这些方法,Suciu 称之为环境层次。

纵观上述敏捷开发的各个层次,就可以解释为什么从提出敏捷概念,到提出敏捷方法,再到养成敏捷习惯,直到拥有自己的敏捷理念和见解会花费非常长的时间。Suciu 提到,有三个陷阱是在各个层次阻碍我们实现敏捷的主要难题:

  • 环境(最佳惯例)
  • 习惯(复杂性)
  • 技巧和能力(适应性)

我们经常被最佳惯例所迷惑。我们经常听说别人如何做,然后我们照着同样的方法做,但是却没有效果。我们看到的典型和教材都是关于理想化的项目。它们描述了特定的角色和惯例来解释如何用敏捷方法来开发项目。但现实世界并不是那样;我们不能照搬那些角色和惯例,因为我们的环境不同。因此,我们必须调整这些角色和惯例来适应我们所处的环境。

我们也经常被复杂的方案所迷惑。我们通常认为复杂的方案会更好。如果我们发现了简单的方案,我们甚至不相信它是正确的。Suciu 引用了 Stefan Roock 的话:

所有复杂的方案都是错的

我们通常会更欣赏提出复杂方案的人,认为他们更聪明。

我们习惯于错误的事情,但是我们因为离得太近而不能意识到这一点。习惯让我们很难发现提升工作方式的方法。

Suciu 分享了自己的一段个人经历:他曾经损坏了自己眼镜的一个镜片,然后配镜师给他换了一个彩色的镜片。尽管他将这副眼镜戴在眼前整整一个月,他都没有发现两个镜片的差异。

当团队沉浸在往日的成就,认为一切正常并且没有什么需要改进时,效率就会降低。Suciu 建议回过头以另外一种视角观察,也许就会发现,团队成员可能太沉浸于做事而忽视了做事的方法。

作者简介

Ben Linders是一名在敏捷开发、项目改进、项目质量和持续改进方面的独立顾问,居于荷兰。他是 Getting Value out of Agile Retrospectives Warrdevolle Agile Retrospectives What Drives Quality Continous improvement 的作者。他作为顾问、教练、导师,帮助企业实施高效软件开发和项目管理。他致力于持续改进、交流协作和高效开发,向客户传递商业价值。Ben 是敏捷开发、项目改进和项目质量网络的活跃成员,也是一位活跃的演说家和作者。他在 bilingual blog(Dutch and English) 分享他的经验,同时也是 InfoQ 关于敏捷开发领域的编辑。欢迎在 twitter 上关注他, @BenLinders

查看英文原文: Learing to Become Agile


感谢刘志勇对本文的审校。

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

2017-03-21 19:002626

评论

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

【面试必问】Spring中的事务管理详解

只喝纯牛奶

nginx配置文件

张明森

别在网上乱找代码了,找了一段代码突然爆了!!!

导导

Java

来了来了!Docker安装及运行原理

程序员的时光

Java Docker 微服务

小伙伴想写个 IDEA 插件么?这些 API 了解一下!

程序员小航

IDEA idea插件 教程 API IntelliJ IDEA

JVM参数手册

Rayjun

JVM GC

搭乘政策红利“快车” 欧科云链助力区块链人才培养

CECBC

谈谈敏捷中的那些模式

Bob Jiang

敏捷 敏捷开发 敏捷教练

今天你内卷了吗?

池建强

个人成长 内卷化

刘华:事实证明,假敏捷都比瀑布优秀

刘华Kenneth

DevOps 敏捷 软件开发

最牛逼的Java框架,没有之一

我是苞谷

新生必备清单:不想成为虚度青春的“小透明”,手机应该怎样选?

脑极体

格一格你的情欲念

王进行

无意中参加了infoQ的一期活动,获得了所有奖项,哈哈哈。。。

诸葛小猿

InfoQ 奖品

稳定匹配:幸福不靠等,脱单要主动

KAMI

生活 算法 方法论

架构师训练营第九周学习总结

张明森

架构师训练营第九周作业

张明森

F5G+X:给5G一个伙伴,给千行百业一个拥抱

脑极体

这16道Redis最常见面试问题,你能回答上来几个?

火羊哥

Java

JVM详解之:类的加载链接和初始化

程序那些事

Java JVM GC 加载

Dockerfile你值得拥有

北漂码农有话说

Docker

RRedis系列(八):缓存到底该如何做到高可用?

z小赵

redis 分布式系统 高并发系统设计

“PlusToken”跨国网络传销案告破,涉案400亿元!

CECBC

敏捷教练和Scrum Master - 敏捷转型中的两个重要角色的对比

Bob Jiang

Scrum 敏捷教练 ScrumMaster

LeetCode题解:70. 爬楼梯,递归+哈希表,JavaScript,详细注释

Lee Chen

大前端 LeetCode

微碳系:我心中的宇宙

Geek_116789

Scrum Master是否需要懂技术

Bob Jiang

敏捷 敏捷开发 敏捷教练 ScrumMaster

Docker 网络

北漂码农有话说

Docker

30岁的二三事

大唐小生

总结 个人感悟

什么是算法的大O表示法

码农神说

算法 时间复杂度 Java算法 大O

金融行业区块链技术应用有了“安全符”

CECBC

敏捷开发之路_Scrum_Ben Linders_InfoQ精选文章