近年来,随着大数据、云计算、人工智能和区块链等新兴技术的快速发展,各大商业银行对于产品研发速度提出更高的要求,DevOps作为提升企业研发效能的重要手段,通过把人员、流程、工具、文化相结合,建立端到端的自动化流程,实现“快速交付价值,灵活响应变化”,越来越受到企业的重视和青睐。
农行研发中心在 DevOps 建设过程中,始终把流程优化作为一个重要环节,从全局视角打通管理流程与研发流程链条,对研发管理流程进行精简融合和提炼再造,同时最大限度提升研发流程自动化水平,实现软件研发数据的自动采集、分析和监控,贯通软件研发数据流,实现软件研发流程进行持续优化改进。
1、管理流程精简融合,进一步提升管理效率
管理流程是落实制度要求、服务研发过程的重要手段,农行研发管理流程涉及ITA、ACMS、星云等多个工具,随着研发工作的快速发展,管理流程存在管理工具多、流程交互少、审批环节冗、线上流程长和线下流程散等问题,为进一步提升管理效率,首先对管理流程进行改进优化。在流程优化过程中,首先是梳理项目全生命周期管理流程视图,摸清流程之间的关联关系,在此基础上细化各流程泳道图,理顺各流程环节数量、涉及人员角色、职责等内容,并对其进行具体分析,通过“砍流程、减节点、限时间、控新增”等方式对流程进行精简,配套“流程关联、线上化、工具收敛、提示提醒、移动化”等手段推动流程融合,从而达到消除浪费、精简冗繁、弥补缺失、提升效率的目标。
2、建设研发流水线,实现研发过程自动化
通过DevOps工程建设,农行打通了自研工具和外购研发工具,实现了以ITA、TFS、ATP、星云等工具为主的DevOps工具链,建成云上云下应用持续交付流水线,实现从需求受理到版本发布的一站式、可回溯和自动化处理,从而实现快速的软件质量检查,以及软件应用发布。TFS作为研发链工具,集成了单元测试、代码扫描、安全扫描、质量门禁、ATP、制品库等多个组件工具;测试链以自研ATP工具为核心,按不同测试场景进行分类自动化测试,按类别准备测试数据,自动分析推送测试结果等功能开发与优化,全面提升自动化测试能力。同时结合行内项目管理要求,将必不可少的管理流程节点融入自动化研发流程,实现DevOps流水线对管理流程的反哺优化。
3、建设统一度量平台,实现数据共享和持续优化
以DevOps标准为基础,基于交付效率、质量、能力三方面建立DevOps度量体系,包含需求交付周期、编码技术债、单测质量、构建情况、测试过程质量、缺陷修复情况、部署与发布、环境管理等相关指标,依托系统、工具间的数据共享,基础数据100%自动采集,实现研发数据统一管理,研发质量整体把控,避免数据重复或分散存储造成的数据不一致及应用不充分,建立研发端到端数据可视全景视图。项目级层面,将数据获取/分析的结果在度量平台实时反馈和呈现,从而推动研发团队根据度量数据进行持续改进优化,实现效率提升;组织级层面,针对于重点度量指标进行监控和专项分析,并在各研发团队间共享指标信息以及指标的变化趋势,推进组织级效率提升。
最后,流程优化是企业通过不断发展、完善的一项策略,只有对流程进行不断的改进,快速适应新技术变化,才能不断提升效能并达到最优的效果。
2020年11月27日,由云计算开源联盟指导,由高效运维社区和开放运维联盟联合主办的 2020 GOPS 全球运维大会 · 上海站上,隆重发布了 DevOps 标准持续交付部分第九批评估结果,中国农业银行手机存款贷款模块顺利通过由中国信通院开展的《研发运营一体化(DevOps)能力成熟度持续交付3级评估。DevOps 标准共分 5 级,持续交付部分如果能达到 3 级已经是国内领先水准,这代表着中国农业银行在参评项目的持续交付能力达到国内领先水平。这是中国农业银行在2020年 6 月 19 日同时 5 个项目通过持续交付标准评估之后通过的第 6 个项目。