度量是这样炼成的,中国农业银行度量平台建设的思考与实践

2022-03-14 13:40:18 浏览数 (1)

随着软件工程实践的不断深入,人们逐步认识到软件质量和软件生产过程密切相关。像传统制造业一样,只有提高软件生产过程能力才是企业长期、稳定地开发高质量软件产品的保障。那么,对于软件过程的现状和改进的效果如何进行检查?答案是只有通过度量。

软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,能够解决软件项目中很多问题,是软件研发中重要的一环。通过研发度量建立有效的控制、监督、分析和反馈机制,“数”说研发,让目标更明确、现状更清晰、改进更精准。

一、农行研发度量面临的挑战

1、数据量大且分散

我行的组织架构和资源配置都是围绕线下业务开展的,随着业务类型的不断增多和生产过程的信息化转型,数据呈井喷式增长。一件软件产品从提出需求到顺利投入使用,需要经历需求分析、开发、测试、部署、发布等多个环节,在每一个环节都伴随大量数据的产生,这些数据分散在ITA、TFS、PaaS等软件研发的各类工具和平台中,由各个工具对数据进行存储和管理。从软件生命周期的全链路来看,是互相割裂、分散分布的。

2、数据质量参差不齐

软件企业在生产过程中要关注资源、周期、效率、质量等多种信息,数据能够支撑这些信息的获取。数据质量的高低不仅直接能够影响团队的运作效率和成本,更能影响管理层面的战略决策。要保证数据质量,需要配置多重精确的规则和校验,确保数据可行、一致。

随着我行信息化改革的完成,研发相关数据的采集或获取来自于不同的工具,而各个工具分属于不同的业务管理和研发团队,工具的优化改造和功能扩展多在团队内部进行,团队之间的沟通和协作成本较高,信息更新频率和对称性低,数据的采集粒度、完整性存在较大差异,在可信程度、一致性等方面存在数据质量问题。

3、数据扩展分析差、再生价值低

数据是客观的,但数据的呈现和解读依然有很大的空间值得探索。数字化时代最重要的任务之一就是如何有效的分析数据,以数据驱动转型改革,实现数据再生价值。

我行为满足研发需要,提供了编译构建、测试等不同类别的工具支撑软件生产过程,而不同的平台或者系统工具都有其特定的目标和使命,譬如ITA负责各类项目的管理审批流程,TFS提供代码存储和版本管理功能,一体化生产运维平台专注于部署发布相关任务和流程。研发过程数据作为这些工具的衍生产品,很难在工具管理团队内部得到足够的重视,团队也很难有足够的资源对数据进行分析整合,或者因为数据范围的有限性导致基于数据的分析结果具有局限性、片面性,无法充分发掘数据的潜在价值。

在全连接的信息时代和大数据时代,数据就是最宝贵的资产,打破数据孤岛、对数据进行统一管理、保证数据完整性和一致性、发掘数据再生价值,是我行数字化转型的关键。

二、度量平台建设目标

1、实现度量数据集中

将分散在ITA、TFS、擎云、PaaS、MOPS等各类研发工具中的度量数据进行收集和加工整合,实现数据集中存储,消除数据不一致性,打通数据链路,提升数据流通性,为开展度量数据统一分析奠定基础。

2、提升量化管理能力

对数据进行抽象和度量建模,识别可度量实体,通过各类指标的计算和多维度量分析全面、准确、客观地反映研发情况。

3、数据指导研发工作

深挖数据价值,构建度量分析模型,提高指标预警、趋势预测能力,从当前普遍的“事后复盘”式向以全局流动速率和质量作为关注点的“风险管控”式发展,提升可靠性和时效性,让数据更有效地指导研发。

三、度量平台建设实践

在我行数字化转型的浪潮下,研发中心先行探索,结合行内度量现状和实际需求,借鉴业界先进经验,坚持自主研发原则,充分利用现有IT系统的存量数据资产,在现有各类系统基础上构建了研发领域的统一度量平台,实现了度量数据的直接采集、集中管理、统一分析和分角色展示,通过度量数据分析,指导研发过程改进,构建研发全生命周期数据生态闭环。

度量平台建设的整体思路和框架如下:

  1. 数据源:基础数据源是度量工作的前提,研发度量平台将分散在ITA、TFS、擎云、MOPS、PaaS、OS等多个系统或平台的研发相关数据进行采集、清洗和加工处理,提升数据质量,建立了清洁、可靠的数据源。
  2. 指标池:基于“统筹推动、以用促建”的建设策略,从管理要求和实际需要出发,提取可度量实体或特征,通过逻辑关联或抽象加工形成一系列可识别、可量化的指标,制定明确的指标计算规则和指标等级,并认证各指标数据源。
  3. 主题联接:对指标池中的指标通过业务流、智能标签、报告数据三种联接方式,规划和需求双驱动,对指标进行领域关联和类别划分。按照业务流将度量活动分为科技管理、项目管理、研发过程(需求、编码、测试、部署与发布)、环境资源等等,对各类指标粘贴层级、影响因子等智能标签,按照报告、数据进行分流,向上提供数据服务。
  4. 数据消费:对准不同角色用户数据消费场景,支持用户个性化定制报告和报表视图,满足各类用户自助式数据消费需求。通过提供分类分析、对比分析、趋势分析、汇总分析等统一的度量分析功能,使团队成员能够明确研发各环节现状和趋势,判断出项目的潜在问题和交付风险,辅助用户决策,反哺研发过程持续优化。度量平台建设的整体框架,基于统一的规则,以基础数据集中管理为前提,指标入库为基础,通过主题联接并提供服务,支撑数据消费活动。

现阶段,研发度量平台已基本完成整体框架搭建,项目管理和研发过程40多个指标已分级分类纳入指标池,并先行为研发中心中心级、部门级和项目级用户提供标准化多维度报表视图。

度量是为了驱动改进,而度量本身也是一个不断更新和优化的过程。我行度量体系建设还处在起步探索阶段,未来对数据的呈现和解读依然有很大的空间值得探索。相信随着数据价值被越来越多的挖掘,我们终将实现更有效的反馈和更精确的赋能,让研发协作真正变得透明、简单、高效。

2020年11月27日,由云计算开源联盟指导,由高效运维社区和开放运维联盟联合主办的 2020 GOPS 全球运维大会 · 上海站上,隆重发布了 DevOps 标准持续交付部分第九批评估结果,中国农业银行手机存款贷款模块顺利通过由中国信通院开展的《研发运营一体化(DevOps)能力成熟度持续交付3级评估。DevOps 标准共分 5 级,持续交付部分如果能达到 3 级已经是国内领先水准,这代表着中国农业银行在参评项目的持续交付能力达到国内领先水平。这是中国农业银行在2020年 6 月 19 日同时 5 个项目通过持续交付标准评估之后通过的第 6 个项目。

中国农业银行通过 DevOps 标准持续交付部分的 3 级评估的项目,分别是:

  • 信贷中台项目
  • 个人网银项目
  • 分布式应用互联平台(AIR)项目
  • 增值税进项税管理项目
  • 金融小店项目
  • 手机银行存款贷款业务

中国农业银行多个项目通过 DevOps 持续交付标准3级评估相关报道

重磅!中国农业银行多个项目通过 DevOps 持续交付标准 3 级评估,相关项目能力达到国内领先水平!

重磅!中国农业银行通过 DevOps 持续交付标准 3 级评估,相关项目能力达到国内领先水平!

0 人点赞