敏捷开发之路
张健欣 InforQ

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

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

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

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

  • 环境(最佳惯例)

  • 习惯(复杂性)

  • 技巧和能力(适应性)

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

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

所有复杂的方案都是错的

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

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

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

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


CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢