持续交付2.0 读书笔记(持续更新中...)

2021-01-26  本文已影响0人  Stan_Z

一、持续交付2.0

1.1软件工程发展:

瀑布开发 -> 敏捷开发

相比瀑布的线性模型,只有在项目交付后期才能看到可运行的软件,敏捷开发将一个交付计划划分为多个迭代,每个迭代结束都可以得到对应可运行软件。

1.2 DevOps:

是运维与研发参与整个软件生命周期的一组实践,它倡导对构建软件的所有环节(从集成、测试、发布、到部署和基础架构管理)进行全面的自动化和监控,从而达到更快、更频繁地交付更稳定的软件的目的。

1.3 持续交付1.0

可持续地快速发布软件服务。

持续交付1.0
1.4持续交付2.0
持续交付2.0双环模型

探索环:定需求。
验证环:落地功能。

以业务为导向,拆解细化业务问题,快速通过双环进行探索和验证,减少浪费的同时,快速找到业务前进方向。

二、价值探索环

目的:持续识别和定义有价值的假设,借助价值验证环得到数据反馈,快速把握业务前进方向。

4个关键环节:

为了加快探索环的速度,提出三点工作原则:

共创与精练环节常用的方法:

三、快速验证环

目的:借助各种方法与工具,让质量可靠的解决方案快速到达客户手指,进而收集并分析真实反馈。

4个关键环节:

工作原则:

对持续交付2.0双环模型理解:
价值探索环持续高效产出有价值的业务方案,作为输入给到快速验证环。
快速验证环快速高质量完成业务落地,交付用户,并收集有效反馈给到加载探索环。
价值探索环根据反馈信息与之前期望进行对比,做出决策,确认下一步方向。
这个大框架过程中,通过一切手段来保证更快的速度和更好的质量。

四、持续交付2.0的组织文化

企业采纳持续交付需要的文化氛围:安全、信任与持续改善。

五、持续交付的软件系统架构

持续交付2.0能力对系统架构的要求:

常见架构模式:

架构改造实施模式:

六、业务需求协作管理

产品版本周期主要分为:准备期和交付期。分别对应持续交付2.0双环模型的探索环和验证环。
重点讨论如何通过需求拆分带来更好收益,降低固定成本。

传统瀑布软件开发方式是按开发阶段来拆分的,该方案只有等到项目进入全面测试阶段才能得到可运行的软件包。我们应该尽可能从业务视角出发进行需求拆分,将需求按用户故事进行拆分,一批用户故事构成一个可交付的软件,不断迭代为完整用户故事构成的最终软件包。

因此合理拆分显得尤为重要,这里需要遵守INVEST原则:
*independent 用户故事独立

常用5大拆分方法:

团队协作管理工具:

整体这一套团队协作管理方案其实就是敏捷开发。

七、部署流水线原则与工具设计

部署流水线:它是对软件交付过程的一种可视化呈现方式,展现了从代码提交、构建、部署、测试到发布的整个过程,为团队提供状态可视化和及时反馈。

八、利于集成的分支策略

版本控制目的,回答4个W

主流版本管理系统:

版本控制系统基本概念:

常见分支开发模式:

分支模式的演化:

版本发布模式:
项目制发布模式 固定了版本特性数量和质量要求。
发布火车模式 大型项目,多条产品线,各团队对齐交付时间节点。
城际快线模式 固定时间和质量,满足发布条件的特性有多少就上多少。

选择分支模式原则:

九、持续集成

持续集成是一种软件开发实践,团队成员频繁地将他们的工作成果集成在一起,每次提交后,自动触发运行一次包含自动化验证集的构建任务,以便能尽早发现集成问题。

持续集成属于一种质量反馈机制。

持续集成过程

六步提交法:

持续集成获得最大收益,做到如下六点:

上一篇 下一篇

猜你喜欢

热点阅读