当前位置:   article > 正文

敏捷已死:一场程序员们历经20年的失败反叛

敏捷已死

敏捷宣言20周年之际,有两个事实似乎不言自明。

1. 敏捷,作为一个标签,赢了;没有人想被称为非敏捷。

2. 但是,敏捷在实践中远远低于其创始人的革命性思想。

我们是如何走到这一步的?每个人都说他们在做敏捷,但几乎没有人是真正敏捷的。

注:敏捷宣言(Agile Manifesto),也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法。


点击下方链接自测是否符合美国百年理工强校计算机硕士入学申请资格,同时还可以免费观看IT大咖们的热情分享,包括人工智能家具的应用、计算机视觉的就业和学习等热门话题,欢迎大家观看

美国百年理工强校计算机硕士


1、宣言从何而来?

2001年2月,一个由17位专家软件从业者组成的小组在犹他州瓦萨奇山脉滑雪胜地的小屋会面。经过几天的讨论和辩论,他们共同撰写了“敏捷软件开发宣言”。

首先要强调的是,这些都是从业者。他们不是项目经理、CTO 或 VP Engs。他们是开发人员、程序员、科学家和工程师。他们仍在编写代码并与利益相关者合作解决问题。这个很重要。

另一点是,敏捷宣言不是凭空产生的。

这些人中的许多人已经有了他们创造或正在宣传的方法论。我的时间可能有点偏离,但我认为所有这些方法论都预先存在“资本敏捷”:极限编程、Scrum、DSDM、自适应软件开发、Crystal、功能驱动开发、实用编程。我知道 Schwaber 和 Sutherland 在 1995 年公开谈论过 Scrum,而贝克和杰弗里斯在 1996 年开始谈论极限编程 (XP),我想。

这个小组中的每个人都有丰富的软件编写经验,他们都在寻找替代文档驱动的、重量级软件开发流程的方法。

宣言的核心是四项价值陈述:

官网信息中文译文

2、窥见曙光

从我们 2021 年的角度来看,很容易将如此多的现代软件开发实践视为理所当然,但在 2001年,这些想法非常激进

被遗忘的重要部分是,敏捷一开始就公开、激进地反对管理。

例如,肯·施瓦伯 (Ken Schwaber) 直言不讳地表达了他要解雇所有项目经理的目标——不仅仅是让这些离开他的项目,而是要从计算机相关行业中彻底根除项目经理这个职业

敏捷性和 PMI

我们发现项目经理的角色在复杂的创造性工作中会适得其反。以项目计划为代表的项目经理的思维将项目中其他人的创造力和智慧限制在计划中,而不是调动每个人的智慧来最好地解决问题。

Ken Schwaber,宣言签署人和 Scrum 共同创建者

Scrum Masters 几乎没有权威,没有投票权。他们是仆人式领导者,帮助保护和疏通团队,但不管理团队。

极限编程是类似的。如果我没记错的话,极限编程最初有跟踪器和教练,它们具有类似的促进、支持氛围。

Alistair Cockburn 是水晶方法论和六边形建筑的宣言签署人和创造者, 最近对此提出了一个奇妙的、有见地的想法:

Scrum 在充满敌意的领域达成了一笔为大的交易:

管理层每年有12次机会,在每次sprint结束后,以他们想要的任何方式改变方向。

团队获得了每月的安静时间,没有中断或方向的变化,专注于进行繁重的思考和工作。

每月管理层干预的情况下,团队必须宣布他们在本月可以做什么和不能做什么。

没有哪位高管得到过比这更好的交易。
没有开发团队得到过比这更好的交易。

我是一名经过认证的 Scrum Master,在敏捷团队工作了15年以上,阅读过该领域的许多流行书籍。我从未见过有人如此明确和简洁地描述这个想法(再次引用一句Cockburn的话):

发明 Scrum 是为了在恶劣的环境中发挥作用。这是需要时间思考和探索的、强硬管理者和开发人员之间的契约。

3、反击战

在某些方面,敏捷是一场草根劳工运动。它当然从基层的工作者开始,然后被推到管理层。这是如何成功的?

部分原因是开发人员的数量和业务价值不断增长,影响力越来越大。但在我看来,最大的因素是传统的瀑布方法根本行不通

随着软件变得越来越复杂,业务步伐加快,用户的复杂程度不断提高,试图预先计划一切变得不可能。拥抱迭代开发是合乎逻辑的,如果对于习惯于计划一切的经理来说有点可怕。

我记得2000年代中期的会议,你可以看出管理层并没有真正买账,但他们没有更好的想法。

——那就让我们试试工程师们一直在谈论的这个疯狂的想法吧。

然后令他们惊讶的是,它开始奏效了。

起初,团队会挣扎一段时间,然后慢慢成长,发现哪些模式对单个团队有效,从而获得动力。经过几次冲刺后,你会开始看到优先考虑工作软件、协作、花时间检查和适应以及所有其他方面的真正力量。

在大约5年的历程,敏捷已经从一个未曾实践的方法变成了人人都在做的事情。2005 年,我换了工作,我记得我对敏捷有一点了解,而 TDD 是一个真正的差异化因素。到2010年,人们认为现代软件团队正在进行某种形式的敏捷开发。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/424468
推荐阅读
相关标签