为什么要实施DevOps呢?我们都知道一般会带来很多的优势,例如效率提升,它需要建设研发基设施、适配技术中台以及一站式交付。质量防控,它需要质量内建、体系化建设代码质量以及自动回归等质量体系。需求质量闭环,通过对质量闭环可实现精益开发,同时可视化价值流可拉动需求价值流的交付。融合&贯穿,通过融合企业内部资产,可打造契合企业一站式研发协作平台。协同研发它可以推动各角色高效互动、透明化并实现聚焦价值流交付。带来团队能力提升。它可实现对DevOps梯队、精英化测试团队、跨职能研发转型。
通过简单使用,形成我们公司独有的解决方案:第一步,环境持续部署。环境持续部署与SCM结合,在不同节点部署环境,低成本获取项目测试环境自动化部署;第二步,代码持续集成。代码质量自动集成单元测试并对代码Review规则进行沉淀;第三步,分层自动化持续交付,对UI接口、性能进行分层自动化,建设持续交付通道。第四步,全自动并行SCM配管,用流程化配置管理,多种研发模式兼容并行研发模式平台化的支撑以及平台化的构建。
在云效平台中,项目需求是一个项目的起点,在代码管理、代码编写、单测集成、构建部署、系统测试、集成测试直至最后的提交发布,对于每一个环节平台都有相应的能力提升各个角色的质量和效率,代码管理环节按应用的管理代码及平台化构建管理;代码编写环节应用平台化拉取应用代码;单测集成阶段可以准确识别代码高危漏洞;构建阶段可以一键构建开发测试包以及一键申请/部署测试环境;系统测试阶段可以测试管理系统以及低成本编写/维护自动化脚本;集成测试阶段可以自动构建集成包、自动部署测试环境以及集成自动化测试自动回归;在最后的提交发布阶段是合并主干代码。
在云效平台中,云效涵盖了整个软件的生命周期以及需求、开发、测试、发布、复盘五个环节。在如上图的平台上各个角色都可以统一的完成任务,通过这种一站式的平台,配管人员都会有一些跟踪管理以及代码合并,研发人员可以做单元测试持续集成、代码静态扫描集成以及代码修复等;SCM管理人员可以做Feature分支管理等;测试人员可以手工测试用例缩写以及手工测试用例执行等;测试开发人员可以用自动化测试用例、自动化测试实践以及自动化测试执行等。通过云效的深入实施可以将角色进行合并,通过工具能力的提升可以将SCM管理人员和研发测试人员作合并。
发最终用户操作所需经历周期时长,我们称之为前置时间,这代表着我们响应市场的速度有多快。在平均40天的创新叠加周期内,企业的研发效能必须保持小于40天的前置时间才能确保产品的竞争力始终领先。而这也是敏捷迭代交付模式中追求MVP,高频交付的小步快跑模式的意义所在。分析前置时间中各个环节的过程数据是提升产品“快”速交付的关键。
在云效平台中,工程效率:迭代高频的交付模式需借助自动化来实现交付效率最大化,并减少人为发生的错误风险和时间成本。在DevOps指标中分层自动化测试覆盖率、持续集成频率、一次投产成功率、环境可用率等都是需要关注的指标项。并且提供了很强大的度量基准:研发指标都和研发的输入即需求相关。需求规模的度量方式将影响研发指标结果的客观性,如代码行、故事点、人天经验值都是效能度量产生偏差的根本原因。选择统一规范的需求度量基准方法(如FPA),将为研发效能度量和改进提供最重要的依据。