敏捷开发是一个软件开发过程,软件在迭代和增量工作循环中开发。在传统(瀑布)方法尝试在开发开始时或甚至开发之前规划开发过程和结果的地方,敏捷开发是一个灵活的过程,允许开发人员在项目期间改变方向并快速响应不断变化的环境。

敏捷开发源于2001年的一份宣言,其中列出了敏捷开发的四项原则

个人和流程与工具之间的互动

在综合文档上使用软件

合同谈判中的客户协作

按照计划应对变更

Scrum是最广泛的敏捷开发过程之一。在Scrum中,开发人员团队根据预定的持续时间(通常在一周到一个月之间)进行短期冲刺。每个sprint都以sprint计划开始,团队确定sprint结束时要完成的工作范围。

在sprint的每一天,团队都会进行简短的会面,所有成员都会描述他们前一天所做的事情,他们计划在那天做什么,以及他们遇到的任何问题。通过这种方式,新出现的困难将没有时间滚雪球并且有可能使项目脱轨,因为团队可以在相对较短的时间内解决这些问题。

在sprint结束时,团队成员记录他们迄今为止所取得的进展并审查他们的开发过程。迭代冲刺循环一直持续到产品准备好发布。