案例 | 推进企业级DevOps建设,高效赋能数字化转型
我国“十四五”规划对数字中国建设、数字经济发展进行了战略部署,要以数字化转型整体驱动生产方式、生活方式和治理方式变革,工商银行积极对标数字化转型国家战略,提出了围绕“数字生态、数字资产、数字技术、数字基建、数字基因”五维布局打造“数字工行(D-ICBC)”的总体方案。工商银行软件开发中心积极推动研发管理领域的数字化转型,打造企业级的DevOps工具链,建立了研发管理全流程的协作枢纽,赋能金融科技队伍提高价值交付能力,持续提升科技研发效能,为高质量赋能数字工行建设贡献力量。
立足新发展阶段,建立数字化转型研发管理体系
随着金融科技迅猛发展,银行经营面临的经济金融环境、市场竞争环境、客户需求发生深刻变化,研发需求持续攀升、业务热点快速切换、交付速度和产品质量的要求越来越高,这既给工商银行带来新的发展动力,也对IT建设提出了新要求和新挑战。
为了适应新形势和新变化,建立更加敏捷高效的研发体系,工商银行启动了研发管理领域的数字化转型工作。数字化转型是以“数据、技术”双要素为驱动,推动业务模式和管理模式的创新和变革,提升价值创造能力,实现企业级转型升级和创新发展。通过对标业界头部企业和优秀实践,以优化提升流动效率(前置时间)、部署频率、变更失败率、平均修复时间等DevOps能力四大关键指标(4KM)为目标,对工商银行的组织体系及团队协作、流程优化、工具建设、人员培养等各领域工作进行全面梳理。一是制定符合实际需要的DevOps标准体系和实施方案,牵引组织、技术、流程的循环改进。二是引入先进技术、方法和工具,结合行内创新研发流程现状,对现有工具进行整合、提炼、完善,打造高度标准化、自动化的DevOps工具链平台,将软件产品交付的各环节联通形成自动化流水线,减少构建、部署、运维过程对相关专业技能和专职人员的依赖,打破机构壁垒;同时,在上下游各环节间设置不同类型的“质量门禁”,明确研发测试质量标准,未达标不允许流转到下一个环节,通过自动化流水线和质量门禁,大幅提升软件交付效率和质量,高效输出业务价值。三是培养DevOps专家人才,组建工商银行内部教练队伍,广泛传导方法理念,积累可复制的经验资产,形成敏捷、融合、协作的团队文化,实现DevOps全面推广落地。
2022年底,工商银行基于研发管理数字化转型的成果,内部正式发布了DevOps体系“工银天枢”和研发管理统一门户“e企研”。
推进DevOps核心能力建设,开展组织级推广
工商银行对标业界标准,制定了符合工商银行发展需要的DevOps能力成熟度分级评估标准体系,着力推进“高效协同、持续交付、质量保障、环境支撑”四个DevOps核心能力的建设,规划了价值交付、需求管理、应用设计、任务管理、个人开发、流水线、测试管理、投产管理、分层配置、架构设计、产品与项目管理、知识库、效能度量、研发管理数据中台共十四个服务域。通过统筹跨多服务域的信息共享,开展服务化重构,打造一站式、高效能、自动化的企业级DevOps工具链,实现了从业务需求到投产运维的全流程可视化,应用版本从构建到部署的全流程线上自动化,促进价值的高效流动和信息实时共享。建立组织级的推广机制,培养了一批DevOps专家人才和内部教练,有效提升了规模化的落地效益,如图1所示。
图1 DevOps工具链服务域规划
1.建立场景化的统一工作台,提升协作效率
通过场景化的流程贯通、跨系统的功能整合及高效协作的可视化手段,提高业务和科技之间、研发团队之间的协作效率。
(1)打造场景化的统一工作台:构建用户画像,挖掘用户痛点,以“e企研”为研发管理统一门户,深度整合DevOps工具链的能力,按用户场景聚合系统服务,建设聚焦科技员工高频使用的待办中心、消息通知、帮助中心及基于数字员工“阮晓妍”的辅助服务,重点打造项目经理、产品经理、设计人员、开发测试人员、应用支持人员和管理人员等关键角色的一站式工作台,建立统一的用户触点,打通研发流程和数据,解决系统众多和数据共享不足的问题,提升一线岗位沉浸式研发的体验。
(2)构建端到端的可视化能力:推出了符合DevOps方法理念的价值交付看板,围绕业务价值从产生创新计划到投产的全流程,建设创新计划、项目、需求、研发、团队多层级看板视图,从大到小、从宏观到微观逐层细化,相互引用和跳转,覆盖各机构、各层级用户,以需求项为核心贯通“需求分析、软件设计、编码自测、集成测试、验收及适应性测试、投产”六大环节,建立了业务与科技共享的端到端价值流,形成了完整的可视化看板体系。价值交付看板搭配智慧屏和团队站会指南,目前已广泛运用于团队站会、迭代会、需求规划会等场景,在提升团队协作效能方面获得一线用户普遍认可。依托完备的度量指标体系,打造管理者大屏,建立智能化研发管理模型,通过数据驱动、智能诊断和自动推送各类过程性风险,从原来的“人找数”变成“数找人”,将风险信息快速反馈至研发人员,对风险及时采取应对策略,推动研发团队的高效协作和持续改进,赋能管理效能提升,进一步夯实DevOps实施效果(如图2所示)。
图2 三层可视化体系
2.实现持续交付标准化的突破,赋能研发团队
以DevOps方法为指导开展研发过程标准化建设,引入发布单元、服务环境等核心机制,建立了含代码库管理、构建、部署、流水线、配置等在内的持续交付标准,打造全流程的标准化流水线,规范和简化构建部署的配置,实现应用部署流程的可验证和可复用,提高生产部署自动化程度,降低投产实施风险。流水线交付实现100%全面覆盖,2022年持续集成执行达到223万次,平均投产时长压缩70%以上。持续交付标准化已广泛实施,配置简化80%以上,突破性实现应用级部署流程“可验证、可复用、自适应、可裁剪、可视化”等特性。另外,通过登录统一的流水线平台即可完成数百个应用的投产流程编排、投产准备、实施、确认等工作,不再依赖大量技术人员集中在投产现场操作值守,使工商银行具备了自服务、常态化、高频度、低成本地开展版本投产的能力,以及实施跨机构、跨地域远程协同投产的技术条件。
(1)代码提交:提交构建流水线。提交即触发,针对增量代码完成单元测试和代码检查。
(2)代码集成:持续集成流水线。提供丰富持续集成原子操作,根据不同场景组装和配置。
(3)版本交付:持续交付流水线。版本一键交付,自动触发回装验证。
(4)版本上线:持续部署流水线。整体投产部署流程可复用、可验证、自适应、可裁剪、可视化。
3.强化全流程各阶段的出入口管理,提升研发质量
基于DevOps测试分层理论,建立了统一的测试方案和测试案例设计服务,支持工商银行软件开发中心、业务研发中心按需求项维度在线协同编写测试方案,提升测试设计协作水平,建立统一的测试案例资产服务,支持跨中心共享测试案例,推动软件开发中心单元测试、集成测试与业务研发中心验收及适应性测试各阶段案例的复用,实现测试方案、测试报告等信息共享,提升端到端测试效率。践行测试左移和测试右移理念,持续完善设计质量评价体系,优化分层自动化测试策略,引入精准测试、生产流量回放等技术手段,强化用户体验、投产验证、灰度发布验收等机制措施,全面提升质量管控水平。
全面践行质量内建原则,强化全流程各阶段的出入口管理,并建设统一的质量管控服务,支撑各项质量保障措施和出口标准的落地实施。推广“单元测试驱动开发(UTDD)”“验收测试驱动开发(ATDD)”等方法,将功能测试案例转移给开发团队,减少下游测试、运维环节的质量压力,同时降低了因质量问题造成的返工和资源浪费,在质量可控的前提下,逐步扩大直接发布应用范围,实现版本的快速交付。建立完善的质量门禁管控机制,通过分级门禁来管控生产安全底线,目前共积累400+组织级代码扫描规则、3000+个测试数据服务和Mock服务等,辅助开发测试人员做好代码扫描和接口测试,UTDD自动化测试程序变更行覆盖率和分支覆盖率达到60%以上,交付质量和生产质量均有较大提升。
(1)提交构建门禁:在开发提交代码变更时自动触发流水线执行,检测开发人员本次代码提交的质量,如代码扫描是否有高风险的问题、单元测试行覆盖率是否达到一定的标准,协助开发人员及时发现和修改问题。各指标必须达标后才能将代码合入发布分支,降低发现问题和解决问题的总体成本。
(2)交付准出门禁:建立分级交付门禁指标,多人代码合并到发布分支后,对发布分支开展代码扫描、构建、部署、自动化测试等环节,并在提交构建门禁基础上增加了冒烟测试成功率指标,所有指标达标才能将版本交付出去,确保交付质量。
(3)投产准入门禁:持续交付流水线对接投产管理平台,获取投产准入状态、灰度验收状态和投产窗口,线上控制投产行为,规范投产管理流程。
4.建设标准化的环境资源配置能力,实现资源统一管理
以环境配置标准化实施为基础,建立环境配置自动化服务,打造贯通开发、测试、生产的环境交付流水线,标准化和自动化环境资源供给,为产品研发、环境运维团队提供便捷一站式的服务。
(1)资源供应:建立新一代云服务门户,实现云主机、裸金属、PAAS容器等各类标准化资源的快速灵活供应。
(2)环境配置:完成开发、测试、生产环境的全流程自动化工具流水线建设;支持联动验收与适应性测试环境、数据中心生产环境实施自动化配置变更。
5.组建DevOps敏捷教练队伍,夯实组织级推广能力
在建立工商银行DevOps成熟度标准体系的基础上,同步启动了行内DevOps敏捷教练培养工作。一是针对研发过程中的关键角色与所需技能,设置协作、需求、开发、测试、运维五类内部教练,同时编制相关培养方案及配套课程,推动DevOps细分领域的专业化人才队伍建设,通过参与外部师资培训、业界资质认证等方式持续丰富内部教练知识储备,提升教练硬实力。二是通过科普图文、趣味小视频、线上工作坊等多种形式推动DevOps实践传播,在行内营造良好的学习氛围。三是以成熟度标准试点为切入点,安排所有DevOps教练深入试点团队开展入队辅导,形成长效机制,通过解决团队在对标过程中的实际问题,帮助试点团队落地敏捷实践,赋能团队效能提升,促使团队真正理解DevOps理念和意义,主动拥抱变化,产生良性循环,形成快速、融合、协作的团队文化,实现人员成长和组织效能提升同步发展,支撑敏捷银行建设。
后续展望
未来,工商银行将继续依托DevOps工作框架,通过创新的管理变革和先进技术的运用,进一步打破业务(Biz)、开发(Dev)和运维(Ops)的边界,推动业务和科技的深度融合,构建BizDevOps新体系,以精益思路将价值评估、市场反馈融入到产品创新研发体系,强化科技对市场的敏感度和技术赋能业务创新的能力,持续提升科技价值创造能力,高效赋能全行数字化转型。
