让软件研发可视化可量化,华为云CodeArts持续加速企业研发转型

news2024/11/26 2:50:39

导读:软件开发工具从未像今天这样重要。

“没有度量,就没有管理。” (If you can’t measure it, you can’t manage it.)

管理学大师彼得·德鲁克的话时刻提醒人们,度量是管理的必要条件。

在高科技领域,研发投入是企业核心竞争力的关键指标。每年欧盟都会发布全球研发投入企业排行榜,TOP10上榜企业每年研发投入高达千亿元级别。

研发不仅仅是资金、技术、人才的密集投入,研发效能的高低也是决定企业研发实力的重要因素。要提高研发效能,第一步要做到高效精准地度量研发效能。过去数年间,研发效能度量一直是业界难题。

2023年5月18日,华为云发布一站式数据驱动的研发效能度量平台CodeArts Board,通过贯通软件研发的全生命周期,打造完整的研发效能度量体系,助力企业研发管理更高效。

打开研发管理的“黑箱”

很多人可能想不到,研发部门是企业中最亟需数字化转型的部门之一。

时至今日,软件研发过程在很多时候还处在黑箱状态。比如,不少企业还在沿用工业化时代简单粗暴的评估方法,以代码行数、Bug数量等较容易度量的产出物来衡量研发效能。在需求、开发、测试、部署、运维等研发环节中,哪些地方可能存在风险,哪些动作是低效和浪费的,由于缺乏有效的工具,管理者很难察觉。

为什么研发部门明明负责企业最核心的技术探索,但其自身管理却处在相对落后的状态?这是因为研发效能度量长期面临的一些挑战:

首先,现代软件研发的规模越来越大,复杂度越来越高,研发端到端工具链非常多,要将完整工具链中的数据全面收集起来就是很大的挑战。数据收集之后,还要面临海量数据的存储、计算、建模、以及高性能查询等难题。

其次,传统的度量工具往往单点式、碎片化,企业缺乏一个整体的效能度量指标体系,能够覆盖整个软件研发的生命周期。

第三,每家企业都有自身的研发管理模式和管理诉求,通用度量工具很难满足个性化需求,有些场景还需要量身定制。

所以,要真正实现高效精准的研发效能度量,企业需要的是一套完整的研发效能度量体系。这背后,研发效能度量的逻辑,需要从单点式、碎片化走向全生命周期、从人为经验、手动管理迈向数据驱动和智能化。

 

让研发效能一目了然

针对以上痛点,华为云将自身在研发效能度量领域沉淀的方法论和最佳实践,融入CodeArts Board看板服务,通过构建研发效能度量体系,实现数据驱动研发效能提升。具体来说,CodeArts Board通过五大优势助力企业研发效能度量:

第一,企业级研发效能驾驶舱

研发管理的主体终究是人。CodeArts Board面向企业、团队、项目及个人,构建了研发效能治理的分层机制。从企业高管、项目经理、团队Leader到一线研发人员,不同的角色都可以在驾驶舱完成管理作战。

比如,管理者可以整体掌握企业的研发效能情况,进行精准决策;项目经理可以对项目交付全链路进行跟踪,管理进度和风险;一线开发者可以量化工作产出,提升工作效率。

第二,零感知数据集成,端到端度量和分析

华为云CodeArts Board能够自动集成CodeArts工具链数据,覆盖工作项、需求、缺陷、代码、构建、代码检查、测试、流水线、部署及发布领域,连接数据孤岛,实现对研发全生命周期的可视化可管理可评估。

CodeArts Board内置了丰富的评估维度,还内置了业界著名的DORA指标。DORA是软件研发效能领域经典的度量指标,在软件研发领域包括四个关键指标:部署频率、变更前置时间、服务恢复时间和变更失败率。CodeArts Board能够自动呈现DORA黄金指标趋势以及与业界基线的对比,让企业研发效能水平一目了然。

第三,开箱即用+灵活定制

华为云CodeArts Board提供了丰富的效能指标体系,100+指标库开箱即用,涵盖工作项、测试用例、代码检查、部署、代码合入、构建及工时主题领域。针对企业个性化定制度量指标的诉求,用户还可以通过自由拖拽的方式,对度量指标快速进行二次开发定制。

第四,自定义报表,构建度量治理门户

基于自定义报表能力,企业可以基于已有模板和指标库,快速组合定制出企业的度量治理门户。目前,自定义报表支持目录信息结构的组织、指标的选取、指标的自由拖动、图表的自由布局组合、指标的明细下钻、全局的筛选维度以及筛选条件。

第五,权限和团队管理体系

基于分层治理机制,华为云CodeArts Board可以建立精细化的权限管理体系,并支持根据项目进展和跨团队协同情况,进行灵活的团队管理配置。

可以看出,华为云CodeArts Board打通了研发全生命周期中的工具链、流程、数据、人、权限和组织管理等各个要素,实现了一站式、数据驱动的研发效能度量平台。

 

一站式数据驱动的研发效能度量平台

30年研发实践外溢

在助力企业研发转型方面,CodeArts Board其实只是CodeArts产品系列中的冰山一角。

2022 年,华为云将华为公司30多年大规模软件研发工具链能力沉淀为软件开发生产线CodeArts向外推出,目前已发布需求管理、代码检查、测试管理、代码托管、制品仓库、集成开发环境、应用性能管理、缺陷管理服务等十余个工具,性能和丰富度达到或超越国际同行水平。

作为核心的基础软件,软件开发工具是一国软件产业实力的重要组成部分。中国软件协会的调研数据显示,2020年,在全球操作系统、基础软件(含桌面、数据库、云操作系统、工具软件等)领域,美国业务收入约0.81万亿美元,占全球比例五分之四。2022年,美国在全球软件开发工具市场的占比超过50%。作为开发软件的底层基础工具,软件开发工具一旦面临制裁管控,不仅相关企业生产面临停滞风险,还将导致整个软件产业发展危机。

早在 2000左右,华为就开始布局软件开发工具的自研之路。为破解底层技术“卡脖子”风险,从 2019 年开始华为加速了在硬件、操作系统、数据库、中间件、应用软件五大类的全栈自研替换,软件开发生产线CodeArts就是其中重要一环。经过数十年发展,华为对软件开发工具的使用经历了从“商用+开源”,到“边买边造”,再到“自给自足”的发展历程。

在华为集团内部,CodeArts已广泛应用于华为终端、网络、云计算、芯片、汽车等全业务场景。在对外服务方面,CodeArts也吸引了来自政府、金融、教育、物流、软件等十多个行业的百万级使用者,覆盖互联网/SaaS服务商、软件及解决方案提供商、传统企业互联网+转型、高校/培训机构四大核心应用场景。

 

发布仅仅一年,CodeArts为什么能吸引百万开发者?

CodeArts工具链平台,其实是华为将30多年大规模软件研发实践经验的外溢,并以云服务的方式共享开放给广大企业与开发者。自诞生之日起,CodeArts目标只有一个,持续打造开发者想用、爱用、好用的软件开发工具链。CodeArts让企业不必苦苦摸索研发管理的弯路,可以直接继承华为30多年的软件开发实践。而且所有工具在对外发布之前,都已经在华为内部经过大规模核心业务的验证。

2023年,CodeArts创新的步伐进一步加快,密集发布众多新工具,全面覆盖企业研发管理的主流需求。

比如,需求管理工具CodeArts Req内置华为IPD需求管理模板,在以管理投资的视角来管理开发的理念下,CodeArts Req支持IPD研发、DevOps敏捷交付、精益研发多种研发模式,特别适合跨项目、跨团队、多地域的大规模复杂场景下的需求管理。

测试管理平台CodeArts TestPlan,覆盖测试计划、测试设计、测试执行和测试评估等全流程,可以将测试评估周期从天级缩短到小时级。截至2022年年底,CodeArts TestPlan月API调用量超过12亿次,累计管理超过10亿测试用例。

代码检查服务CodeArts Check,可以实现支持海量源代码的风格、质量和安全检查,实现百亿行大规模并行扫描,目前已支撑了华为 15 万研发人员、日均扫描逾 500 亿行的代码检查工作。

培育软件生态沃土

从整个全球软件生态看,业界主流软件商用工具、技术标准、技术演进趋势等基本都由美国把持,这是其科技创新领先优势加上数十年积累的结果。要打破这种格局不可能一蹴而就,不仅需要根技术突破,还需要深耕软件产业的沃土,用生态的势能激活产业繁荣。

无论中外,开发者都是软件生态中的决定性力量。开发者的创新能力决定了生态的活力,开发者的效能影响到生态的竞争力。软件开发生产线CodeArts是华为云四大开发生产线中重要组成部分,也是赋能开发者与伙伴的利器。

 

从开发者的视角,可以透视出华为云CodeArts对中国软件生态的价值。

在技术方面,CodeArts内置了华为30多年软件开发的创新实践,开发者不仅可以开箱即用软件研发的最新管理理念和技术,还可以降低供应链安全风险。比如,相比开源代码管理工具漏洞多、单体架构、存在连续性风险等弊端,代码托管服务CodeArts Repo是一款全栈自研、基于Git的云端代码托管服务,基于自研内核可以确保代码安全和稳定高效开发。

在平台方面,随着现代化软件复杂度和异构度的提升,开发者对开发平台开放融合的需求越来越高。华为云CodeArts不断提升平台的开放性,支持更广泛的开放集成。比如CodeArts IDE Online服务,不仅提供了可随时随地编码的云上开发环境,同时具备开放的生态和独立插件市场,提供更多开放API,支持第三方业务集成并融入开发者作业流。CodeArts IDE Online的独立插件市场提供了支持插件开发所需的开放标准、开源框架、打包工具,并支持插件的全生命周期管理。

在体验方面,华为云CodeArts全面提升开发者体验和效能,助力其成为生态中决定性力量。CodeArts为开发者提供覆盖软件研发全生命周期的一站式体验,极大缩短开发者花费在环境构建、数据准备、工具设置等方面的工作量,将精力聚焦在核心代码创新。

比如,流水线服务CodeArts Pipeline提供灵活高效的流水线编排能力,可实现5分钟完成流水线创建。针对用户同时使用多个镜像源或制品库的场景,华为云制品仓库CodeArts Artifact提供仓库聚合能力,允许灵活组合多个代理仓,提供统一制品仓库入口,解决开发者找不到制品包的痛点。同时还支持按文件名和checksum搜索,实现亿级制品包秒级查询与精准定位。

写在最后

随着数字经济的深入发展,软件定义一切的大趋势愈加明显。在整个软件生态中,软件开发工具的地位从未像今天这样重要。

目前,软件研发领域的一大趋势就是越来越多地借鉴制造业中精益生产的管理理念。

如果将软件研发类比制造业,华为云CodeArts就是一套全自动、数据驱动、智能化的生产流水线。这套流水线不仅提供丰富的开发工具,还内置了经过时间和大规模业务验证的最佳实践。

未来一两年,华为云CodeArts还将发布数十个新工具和新服务。通过赋能软件生态的决定性力量——开发者,华为云CodeArts将在加速基础软件攻坚、促进中国软件生态繁荣的历史进程中,发挥更大的价值。

图片来自摄图网

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/629892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux常用命令——grep命令

在线Linux命令查询工具 grep 强大的文本搜索工具 补充说明 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本&…

【MySQL数据库 | 第十二篇】:约束

约束: 在MySQL中,约束是一种限制数据表中列值的规定。保证数据库中的数据正确,有效性和完整性。MySQL中的约束有以下几种: 1. 主键约束(Primary Key Constraint):主键是用于唯一标识表中每行记…

国内强大的智能语言模型AI

​ Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 目录 前言 环境列表 视频教程 1.飞书设置 2.克隆feishu-chatgpt项目 3.配置config.yaml文件 4.运行feishu-chatgpt项目 5.安装cpolar内网穿透 6.固定公网地址 7.机器人权…

chatgpt赋能python:Python文件目录切换:简单易用的方法

Python文件目录切换:简单易用的方法 Python语言可以轻松地处理文件和目录。使用Python的os库可以方便地操作文件系统。Python在os库中提供了许多可以轻松完成文件和目录操作的函数,其中之一是os.chdir。os.chdir函数用于更改当前的工作目录。 为什么需…

使用阿里云OSS实现图片文件上传

说明&#xff1a;注册用户时&#xff0c;经常会用到上传头像。文件的上传/接收与一般文本数据不同。 一、创建Demo页面 先准备一个Demo页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>图片上传…

第三章 三段论:所有,有的。

第三章 三段论&#xff1a;所有&#xff0c;有的。 第一节 三段论-推结论 题-三段论-结构-推结论&#xff1a;所有A是B&#xff1b;所有B是C&#xff1b;得&#xff1a;所有A是C。&#xff08;最简单的模型&#xff09; 4.所有高明的管理者都懂得关心雇员福利的重要性&…

Linux目录结构(与window目录结构对比+绝对路径和相对路径)

一、Linux目录结构 Linux目录结构是一个标准化的文件系统层次结构&#xff0c;非常有组织性并且易于管理。而与Windows 操作系统不同&#xff0c;Linux将所有文件和设备都组织在一个单一的根目录下。以下是Linux的标准目录结构&#xff1a; /&#xff1a;根目录&#xff0c;包含…

<DB2>《DB2数据库健康检查》第3部分

《DB2数据库健康检查》第3部分 2 数据库对象检查2.12 检查是否需要对表和索引进行runstats(30天未作统计更新)2.13 检查表和索引是否需要重组2.14 查看表空间所在裸设备权限2.15 查看数据库备份进度 2 数据库对象检查 2.12 检查是否需要对表和索引进行runstats(30天未作统计更…

递归sql查询完整科目名称

已知表 科目编号 科目名称 1001 1001 现金 1002 1002 银行存款 10020100 0100 工商银行存款 100201000001 0001 工行重庆路支行 10020200 0200 建设银行存款 100202000001 0001 建行铁北支行 需要整理成 科目编号 科目称 科目全称 1001 现金 现金 1002 银行存款 银行存款 …

【OI学习笔记】基础算法-前缀和与差分算法

板块&#xff1a;基础算法、线性优化 难度&#xff1a;较易 前置知识&#xff1a;C基础语法 一、前缀和 1、定义 在一维空间中&#xff0c;对于一个数据总量为 n n n 的数组 a a a&#xff0c;有数据 a [ 1 ] , a [ 2 ] , a [ 3 ] , . . . , a [ n − 1 ] , a [ n ] a[1]…

计算数组中各元素的平方根numpy.sqrt()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算数组中各元素的平方根 numpy.sqrt() 选择题 以下程序的运行结果是? import numpy as np a np.array([1, 4, 9, -4]) print("【显示】a ", a) print("【执行】np.sqrt(a)&…

计网常见面试题

参考:小林coding 1.TCP/IP模型 2.说一下TCP的三次握手? 第一次握手:客户端向服务端发起建立连接请求,客户端会随机生成一个起始序列号x,客户端向服务端发送的字段中包含标志位SYN=1,序列号seq=x。第一次握手前客户端的状态为CLOSE,第一次握手后客户端的状态为SYN-SENT。…

Stable Diffusion 从听说到超神日记(从安装开始)

1.安装模型&#xff08;B站搜秋叶&#xff09; 看到下面界面就成功了&#xff01; 下载好模型打开主页&#xff01;点击右下角一键启动&#xff01; 首先弹出下面命令界面。 自动弹出一个网页界面&#xff08;地址是http://127.0.0.1:7860/?__themelight&#xff09;&#xf…

Zabbix(二)

所有实验的zabbix_agent客户端都是web1(192.168.29.142) 模板Template 模板是可以方便地应用于多个主机的一组实体。 实体可以是&#xff1a; 监控项触发器图表仪表盘低级别自动发现规则web场景 模板通常用于为特定服务或应用程序&#xff08;如Apache&#xff0c;MySQL&am…

第二章 模态命题:必然、可能

第二章 模态命题&#xff1a;必然、可能 第一节 模态命题-句式转换-逻辑转换 题-模态命题-句式转换-逻辑转换&#xff1a;①不一定不可能&#xff1b;②不一定可能不未必。 1.唐代韩愈在《师说》中指出&#xff1a;“孔子曰&#xff1a;三人行&#xff0c;则必有我师。是故…

MM32F3273G8P火龙果开发板MindSDK开发教程1 - 点亮LED

MM32F3273G8P火龙果开发版MindSDK开发教程1-点亮LED 1、登录官网下载对应的MindSDK固件 https://mindsdk.mindmotion.com.cn/&#xff0c;然后注册下载mm32F3270的固件即可。 下载完的文件为 plus-f3270_mdk.zip 解压后的文件路径如图&#xff1a; 2、新建LED工程 将下载…

ModNet抠图算法及摄像头实时抠图示例

目录 一、视频抠图采用绿幕的原因 1、摄像机成色原因 2、抠图效果原因 3、经济成本 二、抠图背景知识 1、Trimap 2、什么是抠图 3、抠图算法分类 三、Deep Image Matting算法 1、网络结构图 2、算法解读 &#xff08;1&#xff09;Encoder-Decoder阶段 &#xff0…

vue3 -- lottie-web使用

Lottie简介 官方介绍:Lottie是一个库,可以解析使用AE制作的动画(需要用bodymovie导出为json格式),支持web、ios、android、flutter和react native。在web端,lottie-web库可以解析导出的动画json文件,并将其以svg或者canvas的方式将动画绘制在我们的页面上. Lottie的优点 …

chatgpt赋能python:Python版本切换教程

Python版本切换教程 Python是一种高级编程语言&#xff0c;用于多种编程任务。但是&#xff0c;由于Python版本之间的不兼容性&#xff0c;有时候需要切换Python版本以满足特定的需求。在本文中&#xff0c;我们将介绍Python版本切换的方法&#xff0c;包括安装和使用多个版本…

机器学习 | 集成算法 | Bagging | Boosting | 概念向

&#x1f4da;Bagging和Boosting的概念 集成学习&#xff08;Ensemble Learning&#xff09;就是通过某种策略将多个模型集成起来&#xff0c;通过群体决策来提高决策准确率。为什么集成学习会好于单个学习器呢&#xff1f;原因可能有三&#xff1a; 训练样本可能无法选择出最好…