敏捷软件开发

在过去的十年中,敏捷软件开发已经从一种狂热的技术转移到越来越多的主流技术。我很幸运能在这个故事的开头,早期的“出生计划”经验极限编程以及敏捷软件开发宣言.ThoughtWorks从2000年开始使用敏捷技术,此后我们在全球项目中成功地使用了它们。我们已经学习了大量关于在企业环境中使用敏捷方法的知识,并致力于分享这些知识,以帮助促进他们的智能采用。

敏捷软件的本质

自从敏捷方法的开发人员开始讨论他们的方法以来,已经有十多年了。在这一时期,敏捷思维已经从一个利基活动转变为一种广泛使用的方法。然而,就像任何流行的技巧一样,敏捷软件开发遭受了语义扩散,在敏捷的名义下,我们看到的许多东西与早期的先驱们所做的并不太相似。所以我认为重新审视敏捷思维的基本要素是很重要的。

我一直看到敏捷思维的本质在于与传统计划驱动的软件工程的两个对比。

敏捷的发展

  • 适应的而不是预测性的
  • 以人为本而不是面向过程

计划驱动的工程期望我们在开发之前提出一个预测性的计划。这个计划安排了人民,整个项目的资源和时间表。软件设计也是预先完bet188足球成的,预期实现符合此设计。bet188足球成功是根据发展如何遵循这个计划来衡量的。

敏捷计划是我们用来帮助控制变化的基线。敏捷团队的计划和传统团队一样谨慎,但计划不断变化,以反映我们在项目中学到的东西。成功取决于软件提供的价值。

计划驱动工程寻求一个过程,提供足够的结构,以减少个别变化到微不足道。这样的工业过程更容易预测,当人们转移的时候警察会更好,更容易定义技能和职业道路。

敏捷工程将软件开发视为主要的人类活动,参与其中的人以及他们作为一个团队的关系是成功的主要驱动力。过程(和工具)可以提高团队的效率,但总是二级影响。

新方法论

我在论文中更详细地探讨了这些对比。新方法论我最初在2000年写的,2005年更新的。我继续觉得它最好地表达了我对敏捷软件开发本质的看法。

敏捷软件开发宣言

它可能不是全部开始的,但是宣言给了这个运动一个名字,加上一点初始能量。十年后,它仍然抓住了敏捷方法的本质。

在这20分钟的谈话介绍了敏捷软件开发的本质和敏捷流畅性模型

敏捷流畅模型

采用敏捷软件开发既不是一条快速也不是一条简单的途径。Diana Larsen和James Shore(经验丰富的敏捷教练)想出了一个思考的方法团队如何在敏捷思维的流畅阶段取得进展.这条道路从关注价值开始,然后发展到交付和优化价值。戴安娜和詹姆斯概述了每个阶段的好处,以及你需要做什么样的投资才能达到目的。

技术实践

使敏捷工作,你需要扎实的技术实践。很多敏捷教育低估了这一点,但是,如果你忽略了这一点,你将无法获得敏捷开发所能给你的生产力和响应能力优势(将你扼杀在敏捷流畅模型的第一级),这也是我仍然认为的原因之一。极限编程是最有价值的敏捷命名方法的核心和起点。

连续交货

从客户的角度来看,敏捷方法的主要好处是它允许软件开发成为一个透明的过程。软件以可见的方式增长,这样,在考虑将来的工作时,企业可以从以前的迭代中学习。

为了使这项工作充分进行,您需要部署管道这样可以确保软件以小的生产就绪增量构建。许多主要的互联网组织发布这些增量,每天执行许多生产部署。这使得软件开发人员与其用户和客户之间有了全新的关系。

更多…

敏捷与架构

从最早的敏捷方法开始,人们问建筑或设计思维有什么作用。bet188足球一个常见的误解是,由于敏捷方法放弃了详细的预先设计工件的概念,bet188足球敏捷项目中没有架构空间。在我在第一次敏捷会议上的主题演讲,我指出,设计对于敏捷项目来说非常重要,bet188足球但它表现得不同,成为一种进化的方法。

最近我和同事莫莉·迪斯曼几个关于敏捷+架构的讨论:什么架构,以及如何确保它发生在敏捷项目上。

敏捷的方法建立在容易改变的基础上,这意味着您需要有一个可以修改的代码库,以及安全地进行修改的规则。188足球比分直播重构是基础技术更改和改进现有代码库的设计。bet188足球当我的关于重构的书是十年前写的时候188足球比分直播,它所教的技术今天是一样的。

更多的书…

协作

改进人类协作是敏捷思维的核心。通信和反馈是极限编程的两个规定值,作为项目的一部分,敏捷人员寻求将其最大化的方法。

不仅仅是站起来

在敏捷项目中,一个常见的实践是每天召开一次简短的团队会议,称为站立会议或Scrum。做得好,这些帮助团队成员有效地协调他们的活动,为团队增添活力。做得不好,它们是一种无聊而空虚的仪式,将开发软件的生命吸走。

杰森叶氏关于站立的建议已经成为使日常会议工作顺利进行的主要文章。

敏捷海上

2002年我们在印度设立办事处时,人们怀疑敏捷方法是否可以用于海上开发项目。我花了很多时间和印度和美国的有思想的工人交谈来生产这篇关于我们如何做到的文章.

浩瀚的厄运决口

DanNorth和我认为软件开发中最重要的因素是用户和开发人员之间的沟通。在一个Qcon伦敦主题演讲,我们探讨这种关系,说桥比渡船好。

使用度量

许多程序员对度量标准的看法很差,看到它们会导致开发团队出现问题。Pat Kua研究了这些努力是如何出错的,并描述了如何有效地使用它们的一些指导原则:直接联系目标,使用短的跟踪周期,关注趋势而不是绝对性,当他们不再开车时,把它们扔在地上。

更多…

Pat Kua还为敏捷团队写了两本非常有用的书

规划极限规划

在肯特写了关于极限编程的最初“白皮书”之后,他和我合作写了一本书,重点是极限编程的规划过程。尽管其他敏捷计划书也出现了,我仍然喜欢这本书,因为它简要介绍了XP中计划的本质。

进一步探索…

…看看标签:

本页面顶部的横幅照片(以及本网站上最灵活的面向页面)来自第一次敏捷会议.