获奖单位:福建农信
荣获奖项:科技管理创新优秀案例
一、项目背景

随着金融业科技数字化转型的开展,原有的传统研发模式由于端到端交付时间较长,已经无法对新时代下快速变化的业务需求进行足量供给。面对市场多变的需求与用户诉求,福建农信积极主动探索自身数字化转型的发展战略,持续提升服务质效与快速响应能力。当前我社在研发交付方面仍然存在一些问题和痛点,如软件资产未进行有效版本管理和变更控制;研发交付过程手工操作较多;跨科室条线部门之间沟通协作成本较高等。基于上述现实诉求,福建农信于2022年开展软件研发交付体系建设,编制和发布建设方案、管理规范和实施细则,并启动基于自动化流水线的一站式软件研发交付平台建设。
二、项目方案

福建农信软件研发交付体系以Devops理念为指导,在制度、组织、工具、流程等方面持续优化演进,旨在解决研发、运维、测试等多角色在沟通协作中遇到的问题,打通研发到运维交付的全流程,提升研发效能和交付质量。
1.流程规范先行。开展流程规范调研与访谈,制定提纲15篇,完成20场访谈活动,涉及科技部门11个科室19个人员和4个分管领导,形成访谈总结25篇,同时调研169个应用系统技术栈,深入分析软件研发交付现状,形成体系建设规划及相关规范及细则,提高配置项、构建、制品、环境、组件、自动化部署等管理规范,已通过技术评审并在软件研发体系内部发布。
2.组织分工协作。成立专职软件研发交付团队,负责流程规范制定、平台工具建设、效能提升落地等工作。同时为加强融合协作,打破条线壁垒,组建横向工作小组,分别由开发、测试、运维科室的骨干人员组成,定期进行跨条线事项和问题沟通。
3.工具平台落地。建设基于自动化流水线的一站式软件研发交付平台。以自动化流水线为中心,对各类软件资产进行有效管控。通过对制品、配置项、组件、环境等软件资产进行集中版本管理和变更控制,做到可跟踪可回溯,避免软件资产版本混乱及无序分散存放。
图1 平台功能示意图
4.流程改进及自动化。以自动化流水线为主线,自动化、标准化、规范化为目标,梳理软件研发协同与交付流程,串联起编码、构建、打包、部署、测试、交付等环节,具备持续集成、持续部署和持续交付能力。
三、创新点
1.采用服务端全栈信创建设,实现软硬件国产化安全自主可控。平台从立项开始,就明确了全栈信创建设目标。采用的信创技术路线为:华为鲲鹏ARM架构服务器、麒麟操作系统、人大金仓数据库、东方通中间件。
2.集中管控代码、制品、配置项、组件、环境等软件资产,全面记载其版本演进历史。平台统一纳管代码、制品、配置项、组件、环境等软件资产信息,全面进行版本管理,对软件资产变更进行权限控制和操作记录。在软件研发与交付过程中,代码和组件编译构建生成制品,并部署到不同环境,根据不同环境信息选择对应配置项进行更新,实现在一个平台进行全过程管理。
3.关联我社科技管理、测试管理、统一运营门户、研发设计、代码漏洞扫描等多个系统,打通开发、测试、运维等环节,覆盖研发交付全流程。开发人员提交代码自动触发构建流程,执行单元测试和代码漏洞扫描,构建通过后打包生成制品并上传制品仓库,通过流水线一键部署到对应环境,测试人员执行自动化测试和功能测试,测试通过后关联投产变更工单并晋级到生产环境,由运维人员执行自动化部署操作。
4.提供自动化流水线服务,落地持续集成与持续部署,加快软件构建、部署、交付速度。平台提供图形化的流水线编排方式,方便流水线生成。具备手工执行、定时执行、周期执行等多种执行策略,满足多种流水线服务场景。包含构建、部署、综合等多种流水线类型,为软件构建、部署等提供不同配置界面,提高流水线可用性。将流水线与业务系统、制品、配置项、变更工单进行关联,根据流水线执行状态动态更新关联状态,执行过程清晰可查。
5.提供统一灵活的配置管理机制。通过平台实现配置文件全生命周期管理,涵盖开发、测试、验证和生产环境,减少因信息不对称导致的配置部署问题;实现多维度配置文件版本管理,确保配置资产化和可追溯,提高配置部署成功率;配置文件管理适配多种架构,包括集中式、分布式、微服务架构等应用。该创新点已申请发明专利,专利名称为《一种一站式应用软件配置协同与交付的系统及方法》。
四、技术实现特点及优势
1.多维度软件资产版本管理。搭建可灵活扩展的制品仓库和配置仓库,统一管控制品文件和配置文件的版本信息和交付行为,结合生产环境基线版本,建立非生产环境版本和生产基线版本的映射关系,支持多角度版本比对功能,满足交付溯源需求,逐步将制品文件和配置文件资产化和标准化。
图2 制品仓库示意图
2.可视化低代码流水线编排。采用集成插件的方式,将拥有共性操作或者脚本封装为插件,包括代码拉取、脚本执行、配置推送、代码扫描、自动化测试等。通过在图形化页面编排流水线,用户只需要在插件设置界面配置少量参数或者主流脚本语言(包括Python、Shell、JavaScript、Bat、PowerShell),即可实现构建和部署操作。流水线支持串行执行与并行执行相互嵌套方式,满足不同场景下流水线工作流调度需求。已发布并验证通过的流水线可在研发侧由用户通过晋级操作推送至运维侧使用。支持对流水线进行复制,以快速满足不同系统的流水线编排需求。支持流水线版本管理和动态运行追踪,通过可视化流程展示从源代码集成到制品与配置文件的自动交付。
图3 流水线示意图
3.持续集成和持续部署能力。通过发起构建类流水线任务,在构建专用容器中,拉取代码,调用构建插件,执行预先设定的编译命令,生成部署使用的全量安装文件,自动推送至制品仓库,同时支持根据代码清单生成增量安装文件。通过发起部署类流水线任务,配置启动参数,指定制品文件、配置项、待部署环境,即可执行自动化部署操作,同时支持灰度发布、个性化执行策略等厂家。部署过程提供流程化展示,用户通过任务监控可以实时查看每个操作步骤的执行日志、传输参数和执行结果,支持用户即时干预流水线执行。
4.数据管理与度量。通过数据采集、分类与分析,形成整体概览,通过对关键指标数据进行纵向趋势分析,对相同特征进行横向对比分析,提供中心级、系统级多视角的分析统计数据,结合关联指标对系统形成全方位、多维度质量评价,为不同角色提供差异化的度量分析视图,以度量驱动持续改进。
图4 数据度量示意图
五、项目过程管理
1.项目启动。2022年1月至2022年12月为项目启动阶段。主要内容为项目建设方案、项目立项书和业务需求书;招标资格预审及采购方案;报名厂商技术交流和POC测试;商务公开招标等。
2.体系规划。2022年12月至2023年6月为体系规划阶段。主要工作内容为体系制度调研访谈、应用系统技术栈分析、体系建设规划编写、相关规范及实施细则制定。
3.需求架构。2023年1月至2023年3月为需求架构阶段。主要工作内容为需求讨论与原型设计、需求规格说明书编写与评审、架构设计与评审。
4.设计开发。2023年4月至2023年5月为设计开发阶段,主要工作内容为软件设计与编码构建。
5.测试验收。2023年6月至2023年8月为测试验收阶段。主要工作内容为两轮功能测试、性能测试和投产前验收测试。
6.投产试运行。2023年9月为投产试运行阶段,并选取三个应用系统试点接入。
六、运营情况
体系建设初期,开展体系制度调研与访谈,了解应用系统技术栈,深入分析软件研发交付现状,形成体系建设规划及相关规范细则,已通过技术评审并在内部软件研发体系发布试行。体系建设中期,通过项目方式建设研发交付平台与持续交付流水线。将研发交付体系规范及最佳实践逐步固化到工具平台中,在应用过程中总结实践经验,持续优化平台功能,提升用户体验,提高研发交付质效。
平台建设后期,综合考量选取代表性系统,以系统试点为落地抓手,进行全流程试点验证。从前期调研开始,逐步开展流水线设计编排,贯通工具链,初步建成持续交付流水线,打通开发、测试、部署、运维等环节,建设更为稳定、可靠、成熟的研发交付流程。
七、项目成效
1.建立了一套适合福建农信当前科技研发现状的软件研发协同与交付体系,包含一系列办法、规范、细则等,为软件研发与交付过程提供最佳实践与标准做法,同时作为软件研发体系(CMMI3)一部分,为软件研发质效提升提供制度依据,满足内控合规要求。
2.通过平台建设与推广应用,为我社研发效能提升积累宝贵的实践经验,持续改进研发与交付流程,打造一支专业的软件交付团队,为科技项目建设进行技术赋能。
3.通过打造一站式软件研发协同与交付平台,显著提升软件交付质效,研发效能提升50%以上,目前已接入40多套系统,编排31条自动化流水线并执行6631次,有效减少手工操作工作量和降低人工操作风险,当前平台正在全行进行推广应用。
4.通过流程改造、流水线建设、执行策略设计等实现持续集成和持续交付能力。通过流程重构使持续交付变得更精益,消除流程冗余和组织浪费。将开发、测试和运维紧密整合,串联持续构建、持续部署、自动化测试等流程,减少人工干预,实现更快速的软件交付,缩短开发周期,业务需求得到快速响应。
八、经验总结
项目建设至今,按照项目整体规划,将持续构建、持续交付、质量内建等理念、方法、工具融入到持续的业务价值交付过程中,塑造了智能高效的研发交付模式。福建农信基于软件交付现状及金融科技数字化转型要求,探索建立一套高效的软件研发交付体系,通过制度、组织、工具、流程等层面保障体系落地实施,从而解决IT项目建设中的矛盾,打破科技内部屏障,促进金融供给端高效率响应、高质量交付客户需求的能力,有效推进农村金融服务提质增效。未来,福建农信将继续扩大软件研发交付覆盖面,持续完善工具链,提升端到端自动化能力,全面提升研发交付质效,助力研发运营一体化与福建农信数字化转型。
更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社案例库、选型库查看。