写点什么

敏捷开发之路

  • 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:002610

评论

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

kubernetes GPU的困境和破局

琦彦

人工智能 机器学习 gpu Kubernetes

Kubernetes版本对接对象存储

琦彦

对象存储 pvc

基于GitHub/七牛云 + PicGo 搭建属于Typora的图床

琦彦

GitHub Typora PicGo 图床

做完数据治理,质量依旧很差

奔向架构师

数据治理 7月月更

2022年IAA行业品类发展洞察系列报告·第二期

易观分析

IAA

iptables常用命令小清单

琦彦

Linux 网络 iptables

期盼已久全平台支持-开源IM项目OpenIM之uniapp更新

Geek_1ef48b

邻接表的定义和存储以及有向图无向图的邻接存储

乔乔

7月月更

利用Python手把手带上实现冒泡排序

迷彩

算法 排序算法 7月月更 算法优化

Getaverse,走向Web3的远方桥梁

鳄鱼视界

JVM方法调用

技术小生

JVM 7月月更

茅台冰淇淋“逆势”走红,跨界之意却并不在“卖雪糕”

易观分析

茅台

Kubectl_好用的命令行工具:oh-my-zsh_技巧和窍门

琦彦

Shell kubectl Oh My Zsh zsh

简化理解:发布订阅

掘金安东尼

前端 设计模式 7月月更

微信朋友圈的高性能复杂度分析

gump

架构实战营

程序员都应该知道的 21 个 Git 命令

yuexin_tech

git

Go小白实现一个简易的go mock server

真嗣

golang

贪心算法:用最少数量的箭引爆气球 🎈

空城机

算法题 7月月更

C# 窗体应用TreeView控件使用

IC00

C# 7月月更

5年接触近百位老板,身为猎头的我,发现升职的秘密不过4个字

图灵教育

kubernetes多网卡方案之Multus_CNI部署和基本使用

琦彦

Kubernetes cni 多网卡 multus

Istio1.12:安装和快速入门

琦彦

istio Sidecar 流量管理

React 学习记录📝

程序员海军

React 7月月更

【刷题记录】20. 有效的括号

WangNing

7月月更

Docker部署Springboot项目

宁在春

Docker springboot 7月月更

python小知识-命令行参数处理之argparse

AIWeker

Python python小知识 7月月更

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