大会PPT获取通道已开启,关注数字化经纬公众号,后台回复 “PPT”,即可获取 PPT 下载地址
作者|工商银行效率牵头部门
策划|FCon 全球金融科技大会
据统计,工商银行目前拥有超过一万人的庞大研发团队,年资金流量达到数十万亿,每月活跃用户数(包括个人和法人)总计过亿——在这样的规模下,研发团队需要确保资金流的正常运转,同时保证生产效率达到 99.99% 以上。面对如此高的安全和质量要求,工商银行研发团队在质量、效率和体验上都面临着巨大的挑战。而为了应对这些挑战,工商银行每年都会进行研发效能的提升。“转型并非易事,尤其是当开发人员已经习惯了多年的工作方式时,要让他们接受新的变化并不容易。因此,我们一直在探索如何跟上时代和外界形势的变化,这背后 需要一套完整的方法论体系,从理念到方法,再到流程和工具的支撑。”在 2024 FCon 全球金融科技大会上,中国工商银行项目办公室资深经理叶雪婷带来了一场题为“工商银行研发数智化转型新范式”的专题演讲,主要基于工行的多个业务模块介绍了其在研发数字化转型过程中的底座建设实践,和效能提升的方式方法。 - 面对外部严峻的安全形势,工商银行每月要 抵御上亿次的外部攻击;
- 工商银行的数字化和智能化研发体系建设理念是推动整个组织,向数字化能力转型,核心思想是培养用户思维、数据思维和运营思维;
- 工商银行从 2021 年开始探索智能研发,并于去年底开始转向使用大模型,通过插件优化等技术,在编码和单元测试生成方面的能力有了显著提升。
以下是演讲实录(经 InfoQ 进行不改变原意的编辑整理):今年,国家提出了“五篇大文章”,其中数字金融是最重要的一篇。数字金融的核心是金融的数字化转型,而这背后需要软件研发的强有力支撑。数字化转型的核心是数据和技术的双轮驱动,这是推动研发的引擎。因此,“五篇大文章”实际上是对我们科技人员的时代考验,我们需要在研发效能上满足市场的要求。为此,我们团队一直致力于产品的快速迭代和市场导向。目前,我们已经构建了一个 持续的、大规模、高质量的快速响应软件研发生态系统。这一生态系统的主要特点体现在以下两个方面:首先,我们的研发规模非常庞大,每年的研发人员投入超过一万人;其次,我们负责运营的业务系统超过 200 个,这些系统的质量稳定性非常高,今年上半年的可用率超过了 99.995%,故障停机时间控制在 4 分钟以内。面对外部严峻的安全形势,作为金融科技领域的领头羊,工商银行每月要抵御超过 1.2 亿次的外部攻击。在研发速度方面,我们的要求是成为四大行中第一个上线的银行。例如,最近在支持上海和香港国际金融中心建设的项目中,我们从业务需求提出到上线的时间仅为一周。这一速度的实现,除了我们持续交付的流水线和研发制度的支持,还依赖于流程的高效流转。工商银行对质量的要求非常高,这背后有一套复杂而详尽的流程和环节。从开发人员的自测,到内部集成测试,再到适应性测试、投产演练,最后才能在上海的投产中心进行投产。尽管流程长,但我们的开发人员在有限的时间内,迅速响应并完成任务。我们的团队在面对硬仗时,能够迅速集结,共同应对挑战。在项目的关键时期,分管项目的领导和团队成员可能连续一周都在办公室工作,以便在开发人员遇到问题时能够立即解决,无论是编码还是联调问题,都能迅速协调解决。在研发模型方面,我们有稳定的八周研发周期,对于底层的技术基础和业务基础服务,我们通过稳态模式进行开发。而对于上层的应用,我们采用敏捷模式,有四周、两周、一周的快速迭代周期。在持续交付方面,工商银行的所有研发团队都已达到 DevOps 三级水平,能够实现持续的集成、部署、自动化测试和发布。这部分是我们近年来一直重点建设的领域,通过 DevOps 流水线工具体系,不仅保障了流程的安全性,还实现了精细化的质量管控。在支持我们大规模、高质量、快速响应的研发生态背后,是技术栈的升级和软件研发模式的演进。为了持续积累和发展,我们专注于构建“专精特新”的研发资产。在专业化方面,我们的研发流程、制度和技术规范体系 是极具价值的。这些制度规范是研发领域的宝贵资产。例如,仅安全领域的规范就有十几份,涵盖了各种平台和语言。我们把这些资产,包括表结构和架构,输入到研发助手模型中进行微调,以形成适合工行的智能研发助手,这是我们 1 万多名开发人员愿意使用它的原因。监管对银行研发体系要求非常严格,对于研发流程、制度规范以及团队的执行情况和工具的支持会定期检查。而目前,工行的研发体系已经能够经受内外部各种审计的检查,这表明我们的体系已经非常完善。在精细化方面,例如质量门禁的代码检查规则,我们有 1000 多个规则来检查代码是否满足行内对安全、质量、效能和代码规范的基本要求。此外,我们还有核心场景的业务自动化案例,确保每个测试人员都清楚哪些测试点是关键的,并且这些关键点都有自动化测试案例来保障。在特色化方面,工行积累了 1000 多个可复用的、具有金融科技特色的账务组件。这些组件对于提高编码效率和减少错误至关重要。在创新方面,工行内部有支持微创新的两个指标:研发效能和运营指标。我们鼓励团队进行创新,去开拓新的领域,而原有的效能管理则通过数字化手段来支持。在运营领域,我们强调“无运营不投产”或“无运营不产品”的理念,即所有上线的功能都需要有基础的运营支持。这包括从用户行为的精细化埋点到简单的功能使用统计,确保我们对新功能的事后分析和持续改进。整体上看,工行的研发机制要求研发效能团队扮演“火车头”的角色,引领团队持续进行研发模式的转型。我们的转型历程包括从质量内建到全面灰度发布的演进,从传统的瀑布模式到敏捷开发的转变,以及从流程驱动到数据驱动的跨越。这些转变虽然听起来简单,但在实际操作中却涉及许多复杂细节。这要求团队成员需要具备综合能力,包括创新能力、持续学习力和变革力。他们必须能够敏锐地洞察研发效能领域的未来趋势,并带领团队结合银行的实际情况,制定正确的发展方向。此外,团队成员还需要能够影响他人,使团队的思想统一,共同朝着既定目标前进,并制定具体的实施方案。除了解决生产问题,还需要分析研发机制的不足之处,提高效率,处理用户投诉,并及时修补漏洞。总结而言,工行的研发机制可以概括为三点:资源、价值闭环和研发闭环。其中,资源是最重要的,我们强调的是资源的韧性。通常来说,我们会在年初会进行规划,但在研发过程中,还会根据需求的变化不断进行调整。价值闭环是另一个核心,它要求我们从需求提出到产品上线的全生命周期进行数字化运营和分析。我们现在有产品经理负责总行,分行服务支持分行,研发团队强调 ITBP(业务合作伙伴)的角色,确保从需求到上线的每个环节都能实现价值的最大化。研发闭环指的是内部提出需求后,能够迅速实现并满足质量要求的研发过程。这一领域涉及众多事项,而今天我们主要聚焦于数字研发方面。在我的演讲题目中,强调“范式”这个词,是因为它在哲学和科学中代表着理念与标准的结合,即思想与行为的统一。无论是在质量、效率还是体验方面,我们都强调理念的重要性,并将其与实践标准相结合。在质量方面,研发中心内部强调“敬畏”,并提供制度、流程和工具的支持。我们认为,只有敬畏质量,才能确保研发的高标准。对于效率,我们强调“专业”。除了数据和技术的支持,我们认为只有追求专业,才能不断提升研发效率。至于体验,我们强调的是“共情”。我承认这一块我们还有提升的空间。有时为了质量和效率,我们可能会牺牲一些体验。这是我们未来需要重点关注和改进的领域。在构建工商银行的数字化和智能化研发体系中,我们的理念是推动整个组织,向数字化能力转型,核心思想是培养用户思维、数据思维和运营思维,这些思维是研发文化的基础。首先,我们通过建立一站式研发平台来统一研发过程中的各个触点,确保团队能够高效协作。其次,我们整合了科研管理数据,构建了一个数据中台,包括数据的采集、聚合和萃取,以及数据资产管理,以支持数据驱动的决策。此外,我们还特别关注功能的持续运营,监控用户量、使用时长和退出情况等关键指标,以确保产品能够满足用户需求并持续优化。在实现这些目标的过程中,我们首先建立了研发数据能力中心,打通数据孤岛,实现了数据的集中管理。并且还利用数字化手段服务于研发一线,为开发、测试和项目管理人员提供支持。与此同时,我们通过数据赋能管理决策,也使得研发效能管理更加科学和精准。在人才培养方面,我们意识到持续的转型和变化是研发管理的核心。因此,工行一直鼓励员工不断学习和适应新技术,以保持竞争力。跟不上变化的员工可能会被淘汰,这在敏捷转型期间尤为明显,当时一些测试人员因为无法适应快速的版本发布节奏而面临挑战。工商银行的数字化转型框架是我们转型理念的核心体现,它不仅定义了我们要实现的目标,也为一线一万多名员工提供了执行的参照。这个框架深刻地反映了数字化转型的本质:以用户为中心,以数据和技术为双轮驱动,以价值创造为目的,通过转型升级和创新发展来实现这一过程。框架的底层是我们的 技术支撑基础,包括智能服务、开放服务、容器和分布式架构 等。中间层是我们的 数据能力中心,也就是数据中台,它覆盖了从立项需求、设计、编码测试、投产部署到运维的整个研发过程以及研发管理的各个方面,如资源效能、质量效率和各种管理指标。此外,还包括了表结构和架构设计资产,这些都是智能研发的基础。研发领域的服务层,可以看作是基础服务层,提供共享服务和公共服务,为上层的场景建设提供支持。在场景建设方面,我们区分了数字研发和数字办公两大领域,目前有众多的场景正在建设中。例如,GitOps 工程已经在部分云原生应用中使用,并计划进一步推广,这将使 DevOps 流水线更加高效且安全。安全领域对我们来说至关重要。我们坚持以用户为中心、触点统一,目前数字化转型的触点有“三个一”:e 企研、一 ID 和一办公。一起研是一站式研发平台,涵盖了从需求立项到研发过程中的所有事务;一 ID 是开发人员的编码窗口;一办公则类似于我们的办公体系,具备即时通讯和会议等功能。这三个触点构成了我们日常工作的核心。组织保障和数字化运营是转型过程中持续进行的两个重要方面。在运营方面,我们有完整的方法体系和工具支撑。组织保障方面,每次转型都有专门的团队来推动整个组织团队的转型,确保转型的顺利进行。这两个方面共同确保了我们数字化转型的持续推进和成功实施。数字化转型框架是我们转型工作的蓝图,我将根据这个框架详细介绍我们的数据建设部分。数据是数字化转型的核心要素,也是我们力量的源泉。没有数据,就如同无米之炊,因此数据建设是我们必须完成的基础工作。在这一领域,我们已经建立了 461 个标准化的数据服务接口,这些接口的日均调用量达到了 3.4 万次。我们的数据基础非常扎实,底层数据语言方面,已经有四五百张表的基础数据被录入到数据湖中。这些数据通过上层的数据萃取,转化为各种数据指标,这些指标是我们日常监控和分析的依据。例如,我们研发领域的质量效率指标,现在可以通过 BI 工具,以拖拉拽的方式在一站式研发平台上进行查看和管理。这样的工具使得每个团队都能够实现自我管理,提高了管理的效率和透明度。此外,正如平安证券首席信息官张朝晖在 Keynote 演讲中提到的微卡片概念,我们现在也在研发领域实现了类似的功能。通过这些微卡片,我们可以快速获取关键的业务和研发指标,从而更好地理解和优化我们的工作流程。在数字化转型的初期,我们进行了国内外软件同业的研究,包括阅读了哈佛教授和微软首席 CEO 在《哈佛商业评论》上发表的关于数字化转型成熟度的文章。文章中明确提出了数字化原住民的概念,这是数字化转型成熟度的最高级别。数字化原住民组织具备的特点包括:一体化、集中式的数据管理,一站式的工作平台,以及由数据驱动的创新文化。工商银行目前的方向和体系与这一理念是一致的。我们建立了集中式的数据管理系统,并开发了一站式的研发工作平台,这个平台集成了所有的研发和管理活动。它支持以需求项为维度,按照最小可投产的业务价值(MVP)快速流转和上线。此外,这个平台还涵盖了多个领域,包括价值交付、需求管理、设计、任务管理、开发、流水线测试、投产以及分层配置等。它还包括技术支撑层的架构设计和管理方面的支持,如知识库等。具体来说,需求管理包括从创意、计划到整合需求项的管理,以及需求排期、需求条目和子条目的管理;设计层面则包括需求项设计、子条目设计和非功能性设计;开发方面,平台提供了精细化管理的支撑,包括流水线测试和投产等环节。此外,还有技术支撑层的架构设计和管理方面的支撑,确保了整个研发流程的高效和协调。下面分享一些我认为比较通用且具有视角价值的数字化场景。第一个是全流程数字化度量的例子。这里的全流程指的是研发的整个流程,我们基于 DevOps 流水线建立了一个工程效能的北极星指标。DevOps 流水线覆盖了研发阶段、研发活动、研发角色、耗时指标以及支撑工具,从需求项的创建一直到投产部署,我们都能够数字化地追踪和管理。这使得我们能够清晰地了解整个过程中工具的耗时、人工的耗时以及流程的耗时,透明地展现需求项在流动过程中的耗时情况。通过这些耗时数据,可以识别出哪些环节或阶段存在提升和改进的空间。我们可以发现开发人员在某个环节被阻塞,或者某个地方的耗时异常地长,并且可以进一步分析原因并进行改进。如果发现是工具的问题,我们就改进工具;如果发现是流程的问题,我们就优化流程;如果发现需要增加技术支撑,我们就补充相应的技术支持。如果某个需求项在提交 Git 时耗时较长,我们就会深入分析为什么会出现这种情况,问题究竟出在哪里。这种数字化的度量方式让一切变得更加透明,我们的决策和行动都有了更加坚实的数据支持,从而更有针对性和有效性。第二个场景是 “数字人阮晓妍”。这个项目我们已经建设了两年,它背后依托的是大模型技术以及银行内部的资产。目前,“数字人阮晓妍”已经具备了多种功能,包括能够回答各种问题、充当个人秘书和工作助手。我每天都会让“数字人阮晓妍”帮我处理一些事情。当我们需要依据制度来决策时,就会用它来查找相关的制度或人员信息。例如,当我需要找到某个人时,“数字人阮晓妍”能够直接提供给我这个人的相关信息。此外,由于每天的会议很多,“数字人阮晓妍”还会提醒我即将到来的会议。开发人员和测试人员也会利用“数字人阮晓妍”的一些辅助功能,比如 QA 辅助。现在,“数字人阮晓妍”在银行内部的使用已经变得非常广泛,它已经成为我们日常工作中不可或缺的一部分。工商银行的智能研发体系是我们今年特别重视并大量投入的领域。通过与美国 Google、微软等公司的交流,我们发现智能大模型在编码领域的应用正迅速发展,并且效果令人惊喜。Google 的文化较为开放自由,员工普遍认为智能研发工具好用,因此广泛采用。而微软则更为严格,要求员工因智能研发提升的效率增加 20% 的工作产出,并且已经开始实施相应的人员调整。工商银行从 2021 年开始探索智能研发,最初使用的是基于小参数的模型,效果一般。去年底,我们开始转向使用大模型,通过插件优化等技术,我们在编码和单元测试生成方面的能力有了显著提升。工商银行的研发产品因其业务的复杂性和代码的高复杂度而面临挑战。我们的系统之间存在复杂的关联,有时一个系统的研发可能需要与上百个其他系统交互,这增加了业务逻辑的复杂性。特别是在金融市场业务领域,复杂度极高,涉及到众多专业算法库,有些算法甚至只有特定的外部专家才能理解。在质量要求方面,工商银行对单元测试覆盖率目标是达到 80%。目前,通过应用大模型技术,我们已经能够实现大约 60% 的覆盖率。为了应对这些挑战,我们制定了全面规划。今年,我们特别组建了 AFS1 团队,团队成员包括研发牵头人、算力专家、工具开发人员和运营人员。这个团队持续关注并对标国内外软件工程的最新趋势,以指导我们的工作。我们的核心工作集中在编码和编码质量效率领域,确定了五个主要的变革领域:单元测试生成、代码补全、研发智能问答、代码检查和安全领域。我们也在探索全流程的数字化,包括需求设计、版本发布和智能运维阶段。目前,这些阶段已经在使用中,而需求、设计和版本发布阶段仍在探索过程中。在前瞻性方面,我们正在进行主导性的智能体应用研究。在实际应用中,代码补全、代码解释、代码注释生成和单元测试生成等功能极大地帮助了开发人员。单元测试生成的能力从最初的 20% 行覆盖率提升到了现在的 60%,这对所有开发人员来说都是一个巨大的进步。研发问答功能在研发过程中也被广泛使用,帮助解决了很多问题。代码异常检测和口里语物辅助功能也在帮助我们提高代码质量。在代码复核方面,大约 40% 的问题是通过智能辅助发现的。需求设计辅助方面,我们正在试点阶段,它能够帮助我们续写需求、生成详细设计、设计表结构以及生成相关的 DDL 语句。这一功能目前还在小范围试点,预计可能在明年上半年或年底推广。在代码调试领域,我们已经取得了相当成熟的进展,并且这一功能得到了广泛的应用。目前,我们把智能研发作为一个重点项目来对待,就像对待业务项目一样。在研发过程中,用户会提交问题,我们则不断优化系统,包括在系统中提出 EPG 问题,以及进行代码重构等,这些都是智能研发的应用场景。工商银行对质量的重视是首要的,安全生产是最重要的。因此,代码审查的建设也是我们重点强化的部分。目前,我们的代码审查能够识别出许多问题,因为我们为系统输入了工商银行的规范,这些规范通常比业界的安全要求更高。例如,我们要求单个 commit 不能超过 500 行等,这些要求都会在审查过程中提醒用户。此外,系统还会对性能和安全方面提出特别的要求。在代码调优之后,系统能够指出当前的性能问题,并给出改进建议。在安全领域,系统也会提供相应的建议,以确保代码的安全性。在安全领域,我们从设计阶段开始,一直到安全设计、安全编码,再到安全测试,这三个环节构成了我们安全场景应用的核心。我们拥有自己的漏洞知识库、代码漏洞知识库,以及行内的安全资产。这些内容被输入系统后,通过智能检测和调试,我们能够评估并选择最有效的方法来支持安全规范的解答。由于安全规范繁多且细致,不是每个开发人员都能完全记住,因此我们提供了在 IDE 内与安全规范内容和安全知识进行互动的能力。这样,开发人员在编写代码时可以直接查询和应用相关的安全规范和知识。此外,我们的系统还能帮助开发人员进行安全漏洞检测,包括代码漏洞和开源漏洞的检测,这两者虽然不同,但都至关重要。我们还会推荐安全标准资产,并提供解决方案的建议,以帮助开发人员在编码过程中遵循最佳安全实践。工商银行的智能研发架构是一个分层的体系,底层是支撑层,这包括我们的知识库和模型层。在这里,我想分享一个观点:虽然外界的模型应用看起来非常热闹,但我们自己必须保持清醒的认识。许多成果都是基于扎实的基础工作,我们必须首先做好自己分内的工作,比如管理好我们的资产和规范。大模型的学习过程就像带孩子一样,如果自己没有做好,那么期望模型能够学好是非常困难的。因此,我们在做智能研发的同时,也重新夯实了我们原有的规范和流程。中间服务层负责模型的路由、API 接口的设计以及流量管理,还包括不同模型的选型。这一层确保了模型服务的有效分发和调用。在触点层,我们集成了一些场景,如代码补全和代码解释等。这些是用户直接交互的点,提供了直接的用户价值。用户层包括了 IDE 环境、Gerrit、VCDS 等,这些都是用户与系统交互的触点。此外,还包括了监控、数据处理和数据存储等数据方面的工作,这些都是整个体系中不可或缺的一部分。模型测评体系是我们智能研发中的关键组成部分,它确保了模型的质量和有效性。这个体系的建立是基于对相关论文的研究和业界标准的参考。我们的测评体系主要分为三个层次。第一层是借鉴业界标准的测评方法。我们采用了逻辑推理等业界通用的测评手段,比如 bBHH 等测评案例集。这些方法为我们提供了一个基础的测评框架,我们可以根据这些标准方法,结合自己的特点进行模型的初步测评。第二层是我们正在建设的私有化测评框架和测评集。每个领域的专业人员负责设计和建设相关的测评集,这是我们行内特有的测评体系。目前,我们的测评过程结合了自动化和人工两种方式,部分测评已经实现了自动化,而有些则需要人工参与。第三层是种子用户的测评。所谓种子用户,是指那些在智能研发领域参与程度较深的用户。当我们有新的训练模型出来后,会先让这些种子用户根据案例进行测评。业界的普遍结论是,用户的测评是最准确的。因此,我们通过种子用户的测评来验证模型的实际应用效果。工商银行的模型版本发布机制主要围绕四个关键点展开:模型准入、模型测评、灰度发布以及版本管理。首先,模型准入确保只有符合标准的模型才能进入发布流程。通过模型测评,我们评估模型的性能和效果,这是确保模型质量的重要环节。版本管理是确保整个发布流程顺利进行的关键。如果测评效果未达到预期,相关版本将会被废弃。在这个过程中,我们发现模型的不同和数据的差异会导致结果的细微差别,这些差别与结果紧密相关。我们也经历了一些探索和失败,但这些都是我们学习和成长的机会。此外,为了支持智能研发,我们重新审视并优化了内部流程,特别是代码审核流程。过去,代码审核可能只是形式上的,但现在我们对其进行了彻底的改革,以确保代码质量。在智能研发的建设过程中,我们确定了四个需要规范指引的方面:资产建设、模型训练、开发使用以及智能研发的运营。我们通过智能培训来加强这些方面的规范和实践。一直以来,工商银行都在持续关注国内外软件工程的最新进展,尤其是国外的动态,以提升我们的实践。虽然我们在应用方面仍有差距,但这个差距并不是不可逾越的。我们期待在未来能够实现更高效、更智能的研发流程。叶雪婷,中国工商银行项目办公室资深经理。2009 年西安交大研究生毕业,同年 7 月入职工行软件开发中心,10 年金融市场自主研发,以主要完成人身份,获得人行金发奖一等奖。后从事研发管理,带领工行质量内建、敏捷研发以及研发数字化转型。InfoQ 老友!请留步!极客邦 1 号客服上线工作啦!后续我将通过微信视频号,以视频的形式持续更新技术话题、未来发展趋势、创业经验、商业踩坑教训等精彩内容,和大家一同成长,开启知识交流之旅
欢迎扫码关注我的微信视频号~
就在 12 月 13 日 -14 日,AICon 将汇聚 70+ 位 AI 及技术领域的专家,深入探讨大模型与推理、AI Agent、多模态、具身智能等前沿话题。此外,还有丰富的圆桌论坛、以及展区活动,满足你对大模型实践的好奇与想象。现在正值 9 折倒计时,名额有限,快扫码咨询了解详情,别错过这次绝佳的学习与交流机会!
- 关注「InfoQ数字化经纬」公众号,回复「案例」领取《行知数字中国数字化转型案例集锦》。
- 关注「InfoQ数字化经纬」公众号,回复「进群」加入数字化读者群交流。