我的“敏捷开发的艺术”前言

2021年10月26日

当我们写敏捷软件开发宣言,我们的支持者是一小部分试图改变一个行业的人。20年后的今天,“敏捷”成为主流。但是我把“敏捷”写在引号里是有原因的——很多人说他们在做敏捷软件开发,事实上大多数人都是真心相信的,但是他们的行动与我们20年前分享的愿景几乎没有相似之处。

事实是,以敏捷方式工作需要一个相互关联的实践网络,跨越软件开发工作的管理和技术执行。其中许多实践,特别是技术性的实践,没有被很好地理解或广泛地教授。因此,有太多的人对构建软件产品的有效方法持扭曲的观点。

詹姆斯·肖尔是早期拓荒者之一极限编程他是敏捷运动的中心支柱。他的这本书的第一版是我最喜欢的:一本手册,向团队展示如何正确地执行敏捷过程。他后来和戴安娜·拉森一起创作了敏捷流畅性模型—一个模型,该模型捕捉了人们在使用敏捷方法时不同的技能开发方法的经验。在这个模型中,一个简单的项目管理技术的应用,通常被称为基本的Scrum方法,通过关注客户需求提供了一些价值,但缺乏你需要的技术技能来解锁许多团队所实现的高生产力和可靠性。

这种观点正确地推动了结构这本书,它把重点放在如何关注价值以及如何可靠地交付价值上。专注于价值意味着理解有效的团队合作的重要性,发展适应性规划的技能,以及与最终软件的客户和用户的密切协作。提供可靠的专注于测试、重构、设计和协作开发的基本技术实践。188足球比分直播bet188足球它承认了一个经常违反直觉的概念,即构建具有高内部质量的软件减少成本和提高代码交付的速度。结合DevOps文化和持续交付,这允许将高频率的特性快速投入生产,这本身就使团队能够通过观察软件在实践中如何使用来了解更多有价值的东西。

20年前我很幸运地找到了一个家Thoughtworks在那里,我们的团队使用这些技能来帮助我们的客户构建新的软件产品,并取代旧的传统。和James一样,我们发现极限编程为我们的工作提供了坚实的基础,在过去的20年里,我们成功地应用了这些技术。因此,我非常高兴地看到,詹姆斯又用了十年的教练经验来修改他的书。结果是学习这些对我们有很大帮助的技能的坚实基础。就像任何有价值的事情一样,这需要时间,而且在这个过程中会有挫折。但这本指南可以帮助你度过这段旅程——从枯燥的仪式转变为多年前詹姆斯和我第一次使用这些技术时所感受到的活力。