devops:改变思维,让一切更加高效

持续交付发布可靠软件的系统方法(交付生态圈)第十五章:持续交付

2019-02-17  本文已影响32人  潘晓华Michael

《持续交付发布可靠软件的系统方法》读书笔记

实现持续交付不仅仅是搭建一些工具,做一些自动化的工作,它依赖于交付过程中的每个人的协作。通过持续交付实践,可以快速且可靠地交付新版本。

配置与发布管理成熟模型

成熟度模型

这个模型的最终目标:

模型指导组织推进持续交付变革,使用戴明环,即计划——执行——检查——处理。

  1. 使用模型来分析所在部门的配置与发布管理模式
  2. 选择一个领域集中发力,该领域是你的薄弱环节,痛点所在
  3. 实施变革。先创建一个实施计划,选择真正感到痛苦的那部分人
  4. 一旦发生了变化,使用之前创建的验收条件来衡量这些变化是否达到了预期效果。组织所有相关人员召开回顾会议,找出改进点及潜在改进领域
  5. 重复上述步骤,积累知识,增量改进,推广到整个部门

项目生命周期

团队的组建与磨合常常有以下五个阶段:创建期、风暴期、规范期、运转期、调整重组期。软件也有五个阶段:立项阶段、启动阶段、初始阶段、开发部署阶段、运维阶段。

风险管理流程

在项目的各个阶段都要做到风险的识别与预防

常见交付问题和原因

  1. 构建某个版本花很长时间,而且经常失败。
    可能原因:部署过程非自动化;没有足够的硬件;硬件和操作系统配置没有正确管理 ;部署过程依赖于团队无法掌控的系统;没有足够多的人员理解构建和部署过程;测试、开发、分析和运营人员没有充分协作;开发人员没有遵守纪律,通过小步增量的方式的修改保证应用程序一直处于可工作状态
  2. 缺陷数量持续增加,产品质量下降
    可能原因:开发期间,测试与开发没有协作;用户故事在没有全面测试,被测试人员验收,并在类生产环境下给用户演示的情况下标记为“完成”;开发与测试在自动化测试套件开发方面缺少经验;团队不了解哪种类型的测试有效;没有足够的测试覆盖率;系统原来就是一个不可靠的原型。
  3. 集成周期长,迭代速度慢
    可能原因:自动化测试运行时间太长;提交阶段运行时间太长;自动化测试有间歇性失败,还是误报;没人得到许可就回滚别人的提交;没有足够多的人理解持续集成过程
  4. 环境不一致,导致生产故障
    可能原因:UAT和生产环境有差异;没有对生产环境或试运行环境的变更管理流程;在运营、数据管理团队和交付团队间协作不畅;生产环境和试运行环境中的缺陷事件的监管不够有效;应用程序中的指南和日志不充分;应用程序非功能需求测试不充分

上一篇 下一篇

猜你喜欢

热点阅读