课程简介
在进入互联网时代,特别是移动互联网时代后,企业要想成功,必须一切要以用户为中心,快速响应市场变化,具备持续交付业务价值的能力。本课程以老师多年团队指导与咨询经验总结为基础,结合软件开发的全生命周期管理过程,详述如何跟DevOps理念相结合,实现各个环节的快速反馈,从而实现全链条的持续反馈,在提高质量的同时,提高产品交付速度。
目标收益
培训对象
各类 IT/软件企业和研发机构研发经理与总监、技术经理、测试经理、项目经理、过程改进人员、运维人员、开发人员、测试人员,以及希望快速高效软件产品研发的团队和个人。
课程大纲
模块1:持续交付基础 |
1) 持续交付的必要性 2) 业界现状简介 3) 持续交付的商业价值 4) 精益思想与常见的七种浪费 5) 持续交付与DevOps 6) 什么是狭义的DevOps(D2O)? 7) 什么是端到端的DevOps(E2E):企业软件持续交付的能力 8) 持续交付核心实践与策略: 一个中心、两个基本点、四项基本原则 |
模块2:敏捷协同开发与持续业务规划 |
1) 翻硬币游戏:敏捷到底可以带来多大生产力的提升 2) 敏捷开发跟瀑布开发的区别 3) 《敏捷宣言》与价值观 4) 做好敏捷需求管理的5大关键点 5) 如何利用Scrum敏捷项目管理框架,实现快速迭代交付,跨角色协同开发 6) Scrum的3个角色、5个关键会议 7) 敏捷发布规划 8) 规模化敏捷:如何将大的产品交付团队协同起来 |
模块3:版本管理 |
1) 什么是版本管理 2) 为什么要进行版本拆分,如何进行版本管理? 3) 基于时间顺序区分的版本管理 4) 基于产品功能区分的版本管理 5) 软件版本阶段说明 6) 版本命名规范 7) 版本号修改规则 8) 软件版本发布流程 9) 版本发布异常处理 |
模块4:配置管理与持续集成 |
1) 乐高游戏:充分理解持续集成的必要性 2) 什么是持续集成?什么不是持续集成 3) 持续集成的8大价值点 4) 开发人员在持续集成模式下的工作步骤 5) 保证持续集成落地的关键原则 6) 自动化构建、配置管理与分支策略 7) 鼓励集成的分支管理策略和规律性发布策略 8) 应用开关技术/Feature Toggle的应用场景与要求 |
模块5:持续测试 |
1) Jenga游戏:充分理解敏捷测试的关键点 2) 测试驱动开发(TDD) 与重构 3) 测试自动化策略(Automated Testing) 4) 验收测试驱动开发(ATDD) 5) 实例化需求(Specification by Example) 6) 敏捷测试四象限与探索性测试 7) 测试策略与测试金字塔模型 |
模块6:持续部署、发布与版本管理 |
1) 持续发布的三种反模式及解决方案 2) 多种环境管理与版本管理 3) 应用依赖及应用配置、数据管理 4) 发布与部署的常见问题1:持续构建但不能持续上线 5) 发布与部署的常见问题2:自动化和管控之间的平衡 6) 发布与部署的常见问题3:产品比应用复杂,更难有效管理 7) 管理产品商用版本发布的关键步骤 |
模块7: 持续交付成熟度模型及实施注意事项 |
1) 成熟度模型介绍 2) 应用成熟度模型进行持续改进 3) 建立自己的交付流水线 4) 建立快速反馈系统 5) 持续交付对团队与组织的要求 6) 如何根据实际情况,根据通用成熟度模型,定制企业内部的评估体系,效果度量及注意事项,制定改进方向 |
模块8:圆桌会议 |
1) Q/A 2) 企业落地策略探讨 |
模块1:持续交付基础 1) 持续交付的必要性 2) 业界现状简介 3) 持续交付的商业价值 4) 精益思想与常见的七种浪费 5) 持续交付与DevOps 6) 什么是狭义的DevOps(D2O)? 7) 什么是端到端的DevOps(E2E):企业软件持续交付的能力 8) 持续交付核心实践与策略: 一个中心、两个基本点、四项基本原则 |
模块2:敏捷协同开发与持续业务规划 1) 翻硬币游戏:敏捷到底可以带来多大生产力的提升 2) 敏捷开发跟瀑布开发的区别 3) 《敏捷宣言》与价值观 4) 做好敏捷需求管理的5大关键点 5) 如何利用Scrum敏捷项目管理框架,实现快速迭代交付,跨角色协同开发 6) Scrum的3个角色、5个关键会议 7) 敏捷发布规划 8) 规模化敏捷:如何将大的产品交付团队协同起来 |
模块3:版本管理 1) 什么是版本管理 2) 为什么要进行版本拆分,如何进行版本管理? 3) 基于时间顺序区分的版本管理 4) 基于产品功能区分的版本管理 5) 软件版本阶段说明 6) 版本命名规范 7) 版本号修改规则 8) 软件版本发布流程 9) 版本发布异常处理 |
模块4:配置管理与持续集成 1) 乐高游戏:充分理解持续集成的必要性 2) 什么是持续集成?什么不是持续集成 3) 持续集成的8大价值点 4) 开发人员在持续集成模式下的工作步骤 5) 保证持续集成落地的关键原则 6) 自动化构建、配置管理与分支策略 7) 鼓励集成的分支管理策略和规律性发布策略 8) 应用开关技术/Feature Toggle的应用场景与要求 |
模块5:持续测试 1) Jenga游戏:充分理解敏捷测试的关键点 2) 测试驱动开发(TDD) 与重构 3) 测试自动化策略(Automated Testing) 4) 验收测试驱动开发(ATDD) 5) 实例化需求(Specification by Example) 6) 敏捷测试四象限与探索性测试 7) 测试策略与测试金字塔模型 |
模块6:持续部署、发布与版本管理 1) 持续发布的三种反模式及解决方案 2) 多种环境管理与版本管理 3) 应用依赖及应用配置、数据管理 4) 发布与部署的常见问题1:持续构建但不能持续上线 5) 发布与部署的常见问题2:自动化和管控之间的平衡 6) 发布与部署的常见问题3:产品比应用复杂,更难有效管理 7) 管理产品商用版本发布的关键步骤 |
模块7: 持续交付成熟度模型及实施注意事项 1) 成熟度模型介绍 2) 应用成熟度模型进行持续改进 3) 建立自己的交付流水线 4) 建立快速反馈系统 5) 持续交付对团队与组织的要求 6) 如何根据实际情况,根据通用成熟度模型,定制企业内部的评估体系,效果度量及注意事项,制定改进方向 |
模块8:圆桌会议 1) Q/A 2) 企业落地策略探讨 |