华为 崔忠峰 - 持续交付流水线支撑解决方案级敏捷

2020-02-27 201浏览

  • 1.持续交付流水线 支撑解决方案级敏捷
  • 2.简介 【问题和背景】:电软解决方案与部件测试协同不足,解决方案测试启动晚,大量缺陷遗留到版本后期,版本DI值居高不 下;各部件转解决方案的集成周期长,无法支撑解决方案版本每月发布的要求。 【解决方案】: 与2012实验室工具团队深入合作,共同打造电软解决方案持续交付能力,主要措施包括 1、解决方案、网元迭代计划协同 2、持续交付流水线,集成加速 3、部件滚动构建,零成本定界 4、流水线可视化,质量实时评估; 5、解决方案DI全景,驱动问题闭环 6、提升解决方案自动化能力, 助力持续交付改进: 【实践效果】: 1、能力覆盖6大解决方案,打通平台网元平台集成单产品解决方案一体化持续交付,集成周期从117天改进到16天 2、通过集成平台持续交付工程建设,先于产品验证完整平台能力,支撑下游产品DI值从300改进到50以下 3、加速解决方案问题单解决速度,问题单平均关闭周期降至11天 4、推进解决方案自动化能力改进,用例自动化率大幅提升,6大解决方案均已实现环境全自动搭建,效率提升80% 5、实现解决方案集成问题提前拦截,快速定界,问题大部分实现当天闭环 117 16
  • 3.目录 • 现状和问题 • 关键措施 • 实践成果
  • 4.持续交付理论基础 理念:“尽早持续交付有价值的软件并让客户满意”、“提前并频繁地做让你感到痛苦的 事情(注:迫使提升能力,以降低风险,消除痛苦)”。 目标:产品团队具备通过重复、可靠的研发过程(自动化),采取小批量频繁的发布、部署,尽可能早的获取质量反馈, 使版本快速达到随时可交付状态。 主要措施: (1)为软件的开发到发布创建一个可重复且可靠的自动化过程;(2)每次修改都能经过一次构建、测试、发布、部署完 整高效的自动化验证;(3)小批量频繁的持续验证、部署或发布;(4)快速多层反馈系统;(5)打破研发与运维之间的(部 门)墙,组建开发、测试、运维跨功能一体化团队,实现高效协同。 CD & DevOps业务流示意 需求 BACKLO G 构建 评估 改进 研发 团队协作 运维 分析+设计 开发 测试 集成+验证 发布+部署 打造客户需求-—>迭代开发-—>集成验证-—>自劢化发布-—>自劢化部 署 全过程高效自劢化流水线,打通软件交付最后一公里,通过自劢化流水 线快速反馈,实现软件从需求、开发到发布的频繁验证、快速问题闭环 可交付产品 RELEAS E
  • 5.问题1:测试协同丌足,解决方案启劢晚 典型案例1:解决方案启劢太晚,大量缺陷遗留 到版本后期 解决方案N V3R3C30 1688 • 集成交付计划丌合理,产品C V3.3C01 版本TR5过后 1年才启劢 解决方案N V3.3C30 解决方案 I&V,发现 的大量问题产品C无法在C01基线版本解决和收编,造 成遗留缺陷DI长期丌收敛。 产品C V3R3C01 2013-03 7255 2014-07 24889 TR5后1年才启劢解决方案N的集成验证 1425 8282 2011-10 2012-04 2013-03 2014-07
  • 6.问题1:测试协同丌足,解决方案启劢晚 典型案例2 :解决方案启劢晚,持续快速交付快 速闭环的工程能力潜力空间大 • 网元B的版本未匹配解决方案交付计划,解决方案N的 C40的8个版本有5个集成延期,拉长特性交付周期; • 解决方案N未能在网元B的基线版本早期发现缺陷,版 本间丌能有效协同 PDCP: 2014-1 PDCP后4个月才启劢解决方案联调 解决方案N V3R3C40 99 网元B V3R3C40 7029 883 PDCP: 2014-1
  • 7.问题2:解决方案集成周期长,丌能满足业务要求 典型案例3:工程能力未拉通,集成周期长,DS 交付周期>4个月, 丌能满足每个月发布一个版本的要求 需求接纳 Solution 1W 4 未启动测试 Service 1 部件迭代周期:4周 1 12W SIT1 需求交付 2 SIT2 用例执行率38%,遗留 DI 8W 373 ,达不到发布要求。 平台 平台中 间件 1 平台迭代周期:3周 Scrum参考 阿里 腾讯 百度 2-4W 2W 1-2W 2-4W 8W 3 bug fix ① 平台转部件平均3周,部件转解决方案平均4周,解决方案平 均测试8周,整体交付达到 12 周。 ② 解决方案测试自动化能力低(<60%),遗留 DI 高,交付质 量达不到发布要求。 ③ 业务依赖的平台问题关闭周期长(>20天),业务发现平台问 题后,平台问题解决普遍要延迟一个迭代,以解决方案H为例 发现平台中间件的严重阻塞功能测试的问题,仍需2~3周才能 解决。 ④ 解决方案测试启动晚,前4周基本没有测试,后4周集中测试。
  • 8.目录 • 现状和问题 • 关键措施 • 实践成果
  • 9.持续交付整体解决方案 1、解决方案、网元迭代计划协同:解决方案与部件迭代计划协同,需求交付可视化,实时跟踪需求交付进度 2、持续交付流水线,集成加速:建立部件到解决方案的分层持续交付流水线,部件每周5次向解决方案转可用版本 3、部件滚动构建,零成本定界:通过串行部件滚动构建和门槛验收,隔离部件缺陷,实现问题快速定界 4、流水线可视化,质量实时评估:与2012深入合作,建设持续交付流水线可视化能力,实时评估解决方案各部件集成质量 5、解决方案DI全景,驱动问题闭环:提供解决方案DI在各配套部件的分解呈现,识别关键质量瓶颈,驱动问题及时闭环 6、提升解决方案自动化能力, 助力持续交付改进:提升解决方案用例自动化率,环境自动安装,确保版本频繁高效验证 呈现各个部件的集成验证质量 【数据来源】解决方案CI工程 持续交付流水线看板 (Avenue CD-DevOps) 解决方案集成视图 解决方案缺陷分布视图 组件构建交付视图 解决方案、网元迭代协同 (设计者桌面承载) 数据采集 呈现解决方案缺陷分布 【数据来源】DTS CI标准化云 平台集成构建 验证通过 自动发布 产品集成构建 验证通过 自动发布 解决方案集成 构建
  • 10.1、解决方案、网元迭代计划协同:交付同步 解决方案与部件迭代计划协同,提供对每条需求迭代匹配的双向校验,提前识别交付风险 里程碑进度管理中可以看到解决方案 与网元的迭代匹配情况 自动检查解决方案与网元迭 代计划匹配异常的需求 解决方案分解到部件的需求交付可视化,实时跟踪需求交付进度,推动BBIT尽早启动 可以看到用例执行的结果 满足BBIT条件,但未验 收通过的需求 承接的解决方案需求的网元
  • 11.2、构建持续交付流水线,集成加速 建立部件到解决方案的分层持续交付流水线,部件每周5次向解决方案转可用版本 自动推送E2E自动化用例执行报告 以SDP解决方案为例 解 继承特性E2E自动化用例执行、手工拉通新特性(迭代结束前自劢化用例集成上线) 决 方 每 案 ONESDP/I 门 BFM环境全 门 PortalONE 门 SEE环境全 门 SAG环境全 门 天 级 B环境全新 槛 新安装 槛 环境全新安 槛 新安装 槛 新安装 槛 构 安装 验 验 装 验 验 验 建 证 证 证 证 证 I&V持续集成归档 工厂全回归 产 品 级 构 建 门槛用例 静 态 ICP打包 检 查 门槛用例 静 态 ICP打包 检 查 门槛用例 静 态 ICP打包 检 查 个 ONESDP/IB本地构建 BFM本地构建 PortalONE本地构建 人 构 建 SVN 门槛用例 静 态 ICP打包 检 查 SEE本地构建 小 时 30 门槛用例 ICP打包 静 态分 检钟 查 SAG本地构建 分 钟 1 3
  • 12.3、部件滚劢构建,零成本定界 通过串行部件滚动构建和门槛验收,隔离部件缺陷,实现问题快速定界 验证通过归档,覆 盖前一个版本包 产品临时归档 快照:全程记录版本包快 照,版本可追溯 空间 版本包:自动识别部 产 1 件归档包更新 2 品 CI构建 CI构建 CI构建 集成验证 集 (如果需要)获取构建依赖的平台发布版本 成 公共归档空间 6 12 18 0 6 部件安装测试失败自动回滚, 不影响下一下次部件的构建 分析当日更新的 版本包,排队发 起滚动验证 部件增量安装到环境并进行 门槛验收,验收不通过回退 解 3 预 部件A 部件B 部件C 部件D 决 分 滚动 滚动 滚动 滚动 方 析 验证 验证 验证 验证 案 集 成 6 12 18 仍然是门槛 验证 4 解决方案 CI构建 对验收通过部件更新版本后 形成的解决方案进行全用例 回归,并生成版本快照 5 解决方案 集成验证 部件验收通过 归档,成功发 0 6 布到解决方案 解决方案临时归档空间 (保存最近一次验证成功的各 部件安装包)
  • 13.4、流水线可视化,质量实时评估 与2012深入合作,建设持续交付流水线可视化能力,实时评估解决方案各部件集成质量 解决方案CI构建成功次数、 构建总次数、构建结果 各部件滚动构建结果:绿色(成功)、 红色(失败)、灰色(没有版本包更新 解决方案构建成功率 部件集成周期
  • 14.5、解决方案DI全景,驱劢问题闭环 提供解决方案DI在各配套部件的分解呈现,识别关键质量瓶颈,驱动问题及时闭环 快速定位哪个部件 的DI值最高 ,驱动部件提升版本交付质量 追寻部件历史DI值,评估部 件对解决方案的质量影响 点击链接显示该部 件的DI值趋势图 点击问题单链接,转到 DTS问题单详细信息 点击数字显示问题单列表
  • 15.6、提升解决方案自劢化基础能力,劣力持续交付改进 以集成平台为例: 构建全新平台集成自劢化测试框架,满足了平台的 云化场景和DFX场景测试的需要,自动化比例改进 到76% 预验证下游业务门槛用例:平台将下游产品B近900 个优选用例、引入平台持续交付中连跑,提前替产 品做预集成
  • 16.目录 • 现状和问题 • 关键措施 • 实践成果
  • 17.关键成果1:支撑解决方案问题快速闭环 平台产品S通过集成平台持续交付工程建 设,先于产品验证完整平台能力,支撑解 决方案产品B的DI值从300改进到50以下 支撑产品B的DI值从300改进到50以下 产品S通过持续交付能力建设,加速部件向解决方案的问题单解决速度,问题单平均关闭周期从28天缩短到 11天;版本遗留DI峰值从610+降低到126 峰值DI 610.18 峰值DI 564.5 峰值DI 126.82 改进前: 产品S C10 改进后: 产品S C20
  • 18.关键成果2 :拉通平台->产品->解决方案的大规模持续交付 打通“平台网元->集成平台->单产品->解决方案”一体化持续交付能力,解决方案集成周期从4个月降至16天 累计集成产品:14个 累计代码规模:1676w 参不研发人员:1200+ 117 16
  • 19.关键效果3:解决方案集成问题提前得到有效拦截 实现解决方案集成问题提前拦截,快速定界,持续交付流水线运行至今,已累计发现各类集成问题99 个,问题当天发现当天闭环,定位成本大幅降低 各解决方案累计发现问题数 29 22 15 14 12 7 HVS SDP基线 ITPass Billing NGBSS SDP定制 周发现问题趋势 16 14 12 10 8 6 环境问题下降同时产品问题 4 增加,随工程能力稳定,流 水线拦截作用得以充分发挥 2 环境问题 产品问题 0 第1周 第2周 第3周 第4周 第5周 第6周 第7周 第8周 第9周
  • 20.