什么是敏捷开发?教你正确理解敏捷开发

敏捷开发是相对于瀑布开发来说,一种轻量级的软件开发方式。敏捷开发是为了快速响应需求变化、通过组建跨职能团队实现持续不断的交付高质量的产品的方法的集合。所有符合敏捷宣言和敏捷开发十二项原则的方法都可以是敏捷开发的一种实践。

在大多数的敏捷开发实践过程中,团队会组合应用多种敏捷开发的实践,常见的方式是Scrum模型和看板的方式,并结合DevOps实现持续集成与持续部署等实践来推进敏捷开发。下面以一个团队的一次迭代举例说明敏捷开发过程。

一、需求梳理

在敏捷开发之前,基于需求开展敏捷协同工作,将需求尽可能的拆分到小颗粒度,方便估算且能够在一个短周期内实现并交付上线,可以实现小步快跑的交付节奏。

从业务需求到功能需求的多层级拆分,并实现拆分后的关联追溯能够清晰的展示所有拆分后的零散需求得到实现。

什么是敏捷开发?教你正确理解敏捷开发_第1张图片

图1 业务需求拆分

什么是敏捷开发?教你正确理解敏捷开发_第2张图片

图2 功能需求的拆分

二、迭代规划

根据需求的优先级与清晰度以及交付周期,进行规划迭代,拆分后的需求分布到每个迭代,并规划版本发布时间,使得迭代和版本分离,让已经达到发布条件的需求,按需进行版本发布。

什么是敏捷开发?教你正确理解敏捷开发_第3张图片

图3 迭代计划与版本计划

三、迭代实施

实施过程中包括设计、编码、测试等获得,通过每日站会同步进度,并处理遇到的问题和障碍。并通过看板展示迭代的进展。

什么是敏捷开发?教你正确理解敏捷开发_第4张图片

图4 看板

设计阶段,基于每个需求可独立上线的基本诉求,对架构解耦的要求逐步提高,设计架构从单体架构到分布式架构最后到微服务架构,根据软件业务属性选择适合的架构,进行合理的架构解耦。

编码实现过程中,同步关注质量,基于减少浪费一次性把事情做对的质量原则。加强编码阶段的质量保证,进行充分的单元测试和代码检查。并通过研发持续集成流水线频繁的验证每次编码输出之后的成果的正确行,尽早的发现问题,实现测试左移。

采用统一仓库或者分支策略来进行代码管理,其实就是为了保证代码的安全和便于统一管理。并且通过统一的制品管理确保软件产品输出的唯一性。

完善的测试管理以及充分的自动化UI测试、接口测试,确保产品输出的质量。设计阶段,基于每个需求可独立上线的基本诉求,对架构解耦的要求逐步提高,设计架构从单体架构到分布式架构最后到微服务架构,根据软件业务属性选择适合的架构,进行合理的架构解耦。

编码实现过程中,同步关注质量,基于减少浪费一次性把事情做对的质量原则。加强编码阶段的质量保证,进行充分的单元测试和代码检查。并通过研发持续集成流水线频繁的验证每次编码输出之后的成果的正确行,尽早的发现问题,实现测试左移。

采用统一仓库或者分支策略来进行代码管理,其实就是为了保证代码的安全和便于统一管理。并且通过统一的制品管理确保软件产品输出的唯一性。

完善的测试管理以及充分的自动化UI测试、接口测试,确保产品输出的质量。

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(持续集成,敏捷开发,DevOps,单元测试,java)