3.1 敏捷开发流程

开发流程(development process),或开发过程,是对软件开发生命周期中各个步骤的定义,涵盖需求分析、软件设计、实现、测试、发布与维护。瀑布模型(Waterfall Model)作为传统软件行业的开发标准,要求上述步骤必须依次被执行,从而严格保证软件的开发质量。

在当今的互联网时代,需求变更频繁,软件迭代频次高,传统的瀑布模型已无法跟上时代发展的脚步,因此敏捷开发(Agile Development)应运而生。2001年,17名软件开发领域的重量级人物齐聚美国犹他州,经过数日讨论,发布了《敏捷软件开发宣言》,宣告敏捷运动的到来。

我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:

● 个体和互动高于流程和工具;

● 工作的软件高于详尽的文档;

● 客户合作高于合同谈判;

● 响应变化高于遵循计划。

也就是说,尽管右项有其价值,但我们更重视左项的价值。

敏捷开发流程是一系列符合《敏捷软件开发宣言》的方法的合集。不同的方法其侧重点不同,有的侧重于工作流程,有的侧重于开发实践,有的侧重于需求分析。敏捷开发流程中也包含了一系列的应用于软件开发生命周期的实践,如持续集成、测试驱动设计、结对编程等。云原生时代背景下的微服务架构有着服务组件化、去中心化治理、基础设施自动化、设计演进化等特点,因而更加需要一套高效成熟的敏捷开发流程。为此,本节将对如何实施敏捷开发进行介绍。