2021-10-16 EE卓越工程生产力大会(下午)

仍然是DEVOPS场,因为第一场是行内的演讲。

1. DEVOPS全程质量保障体系(工行 杨卓俊)

(1)背景介绍

国家监管相关对质量守护的要求比较高,效能提升方面又有需求。

(2)质量保障体系建设

ATDD探索验收测试驱动开发:加强需求阶段投入,明确验收标准。

自动化先行支撑测试前移:基于NIT自动化测试平台开展测试前移。接口组合测试,安全测试,性能测试,基于文档编写脚本。

UTDD助力单元测试:将质量控制前移到软件内部,提升代码的有效性和可测试性。通过对被测程序注入编译,反向验证单元测试案例是否有效。

自动化建设:自动化测试脚本13万个。如何对这些脚本进行管理?通过平台封装进行脚本案例的自动化生产。

2. 千人团队产品大作战——深度解码产品制变革(OPPO 崔艳婷 瞿俊龙)

(1)变革背景

互联网产品线、公司内部产品(IT流程)、手机安卓开发(聚焦)

手机操作系统:超大规模复杂软件系统,亿级代码,快速迭代,统一交付

操作系统一次打包3-4个小时,每年安卓升级需要替换4000万行代码

17年开始出现一些突破类的需求(屏下指纹),全栈的需求,海外的需求等等,就开始遇到挑战:交付周期长、产品质量差、研发效率低、人力成本剧增。

  • 一开始是项目制管理,项目经理的比例逐渐大于工程师的比例。
  • 项目增多以后质量无法保障。
  • 项目的需求在A项目出现后,B项目也会出现。19年以后,绝大部分人在解决bug,移植需求,移植周期大于新需求的周期

(2)解决方案

  • Color OS版本火车
  • 大方向年度规划,提前部署,动态调整
  • 整机选择上车版本,选择规划特性


    产品制方向

    产品制总览

    围绕用户价值,关注核心需求,框定产品范围。软件的抽象能力和克制欲望。
    规划主线版本,通过主线版本对齐节奏。

建立双轨运作模式。

  • 快轨运作:APP版本,遵循敏捷迭代独立演进,快速迭代上线(相册、短信、负一屏等等)
    • 通用应用组件
    • 定制组件
  • 慢轨运作:Color OS版本,规模化团队,季度版本。慢轨OS版本遵循IPD,结合SAFE运作
    • 通用系统组件、系统SKU组件
    • 通用芯片组件、平台SKU组件

DEVOPS研发平台,通过门户封装敏捷协同、代码流水线、持续测试、持续发布、研发看板等模块

基础设施里包含IAAS,PAAS,DAAS。

(3)历程与实践

快轨:

2019年6月开始,进行团队试点,2个团队

2020.1月-4月,8个团队小规模扩大

2020.5月开始,整个应用中心推广

分支管理方面,看起来应该是gerrit+gitflow的模式:代码提交时需要评审,无develop分支,用master管理开发,拉出release来发布。

分支模式

小范围推广:

  • 技术与工具实践
  • 转型组织运作
    • 变革项目工作组运作
    • 特性团队虚线运作
  • 共性问题探索
    • 应用于OS解耦
    • 测试自动化

应用中心推广:

  • 统一标准与模板:迭代节奏、状态末班、度量
  • 人员培养:种子培养,系列课程培训,社区氛围营造
  • 评估与度量体系:敏捷成熟度评估、用户体验成熟度评估、研发看板可视化

困顿&转折

  • 局限在快轨应用层,效果有限
  • 慢轨OS牵一发动全身,未有合适的时机
  • 整机按照自己的节点交付,应用按照迭代交付,快轨节奏被打乱

===>

  • 与业务专家思路契合
  • 与组件化项目契合
  • 产品制变革深入到慢轨

第二阶段:OS慢轨产品制运作

  • 业务部落成立
    • 按照独立可交付的业务价值划分为部落
    • 部落是一个虚拟的全功能团队
    • 资源部门做能力建设(研发、测试)
    • 聚焦长期的技术预研
    • 部落:对看护本部落的业务长期竞争力负责,确保业务竞争力落地。
  • 分级需求决策:部落级、系统级、公司级
    • 聚焦价值:有限的资源做最有价值的事
    • 全局最有:屏显默认
    • 保障需求的演进和可维护性
      • 根据问题确认解决方案,方案确保能提升某个部落的竞争力
    • 防止需求无序变更
  • 规模化迭代运作
    • IPD模式下OS版本节奏规划:18月版本规划,再与整机规划对齐
    • EPIC、FEATURE、STORY的划分
  • DevOps全景应用


    DEVOPS全景应用

(4)改变与思考

2年的实践

  • 大规模变革是一把手工程
  • 一个小问题,几何级放大后会变成大问题
  • 软件领域没有银弹,需要探索适合自己的道路
  • 软硬件结合,智能化是未来的趋势

3. 旷视AI产品背后的研发效能体系建设(旷视 刘天伟)

(1)背景

旷视传统的CI,以Jenkins、Gitlab-CI、放弃CI三大工具为主,彻底散养,各自为政

  • 技术工具演进不一
  • CI机器资源浪费或不足
  • 不易复用自研的CI组件
  • “粘合剂”效果差:内部各种系统难以和持续集成工具对接

整体思路:提升幸福感。

(2)从研发到交付的全流程PAAS平台实践

设计思路:DEVOPS、PAAS

使用公有云IAAS+k8s,再加上CI,对接GITLAB,就能满足公司的PAAS平台需求?

  • 云资源与DEVOPS平台割裂的体验:devops流程中充斥着大量外部平台(xx云管)
  • 研发/运维/基础设施关注点耦合:k8s的yaml中没有app概念,其定位也不是终端用户

==>在k8s基础上定义application概念,提供基于gitlab的ci和应用周边基础设施,形成内部完善的paas平台,让业务程序向云原生架构演进,提升devops水平和整体研发效能。

设计思路上:不愧是搞算法的,思维结构化且清晰。


image.png

image.png

对yaml的封装:

  • 开发者视角:不照搬k8s的yaml结构,从开发者角度触发,对开发者友好
  • 配置分离:将某些运营类的配置放到MCD web中
  • 映射原则:每个app.yaml对应MCD中的一个产品线中的一个app,产品线可以自由赋值。离线部署时绑定一个app.yaml


    image.png

    需要关注:天然私有化

系统架构:


image.png

(3)未来愿景

image.png

你可能感兴趣的:(2021-10-16 EE卓越工程生产力大会(下午))