写点什么

敏捷开发之路

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

评论

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

安全高效的云主机批量管理软件是什么?有哪些功能?

行云管家

云主机 云运维

leetcode 417. Pacific Atlantic Water Flow 太平洋大西洋水流问题

okokabcd

LeetCode 搜索 数据结构与算法

Java中的阻塞队列

急需上岸的小谢

6月月更

变量 var const let 的区别

大熊G

JavaScript 前端 前端教程 6月月更

首评 | 阿里云顺利完成国内首个云原生安全成熟度评估

阿里巴巴云原生

阿里云 云原生

给小白的 PG 容器化部署教程(下)

RadonDB

数据库 postgresql 容器化 RadonDB

征文投稿丨基于轻量应用服务器搭建Hexo个人博客

阿里云弹性计算

node.js nginx git Hexo 轻量应用服务器

玩转云端|一文读懂天翼云CDN升级重点

天翼云开发者社区

PHP 对接微信公众号订阅消息详细教程

CRMEB

融云一图看懂:社死的“谭某某”,霸屏的信息安全

融云 RongCloud

好声音不同凡响,泥炭耳机618重磅新品来袭

江湖老铁

员工福利平台:让员工福利更加“鲸彩FUN粽”

鲸品堂

福利 平台

斐波那契系列

开发微hkkf5566

关于fastjson出现反序列化远程代码执行漏洞的通知

天翼云开发者社区

选择天翼云混合云管理平台的五大理由

天翼云开发者社区

服务器运维环境安全体系(上篇)

融云 RongCloud

网络安全

虚拟机哪款好用?多台虚拟机管理用什么软件好?

行云管家

软件 虚拟机 IT运维

5G+实时云渲染:交互实时云看车革新购车体验

3DCAT实时渲染

5G 汽车之家 汽车 元宇宙 实时云渲染

互联网拓扑是怎样构成的?又代表了什么?

郑州埃文科技

互联网拓扑 网络空间地图

王者荣耀商城异地多活架构设计

Dean.Zhang

在映客的虚拟KTV里唱了一首“爱你”

ZEGO即构

音视频 虚拟KTV 线上K歌

从入门到一位合格的爬虫师,这几点很重要

开发微hkkf5566

虚拟主机、WordPress 主机和云主机之间的区别

海拥(haiyong.site)

6月月更

多张图解,一扫你对多线程问题本质的所有误区

华为云开发者联盟

Java 开发

Hoo研究院|一文速览风投机构NGC Ventures的加密布局

区块链前沿News

投资 VC Hoo NGC

技术分享| 如何部署安装分布式序列号生成器系统

anyRTC开发者

分布式 后端 音视频 服务器 Tinyid

Spring Authorization Server(AS) 从 Mysql 中读取客户端配置、用户

Zhang

Java spring security spring as

【云主机】2022年云主机管理软件排行榜

行云管家

云计算 云主机 华为云 移动云 云主机厂商

【LeetCode】 删除二叉搜索树中的节点Java题解

Albert

LeetCode 6月月更

大数据培训Hive到Spark离线计算实践

@零度

spark hive 大数据开发

你的App是信息化时代的还是数字化时代的

FinClip

小程序开发

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