中国企业 研发高效能白皮书 近年来,中国企业研发正在从粗放型走向精益型,研发工作的“高效能”成为几乎每个研发团队的共同追求。 中国软件服务产业也在近5到10年中得到了飞速发展,技术服务的边界不断拓展,赋能高效研发的产品层出不穷,适合中国研发环境的技术服务体系在不断完善。从结果上看,中国企业正在高效能研发的路径上快速前进。 本份报告以中国高效能研发企业为研究对象,尝试解读市场中具有代表性的高效能研发解决方案。本次报告由五个篇章组成,包括CI/CD、企业级软件架构、研发效能管理等主题。研究小组期待可以通过研究,帮助中国企业研发团队获得高效能研发新知。 02 如何可持续地、更快更好地 交付用户需要的价值? 03 如何用数据展现、分析并洞察研 发价值? 04 业内有哪些来自顶尖公司的提升研发效能的落地实践? 其中有哪些经验可以借鉴? 3 01 如何让研发结果体现业务价值? 研发过程中经常遇见这些问题? 4 目录CONTENTS 价值流管理定义与背景05 价值流管理定义06 价值流管理特征10 价值流管理如何提升研发效能12 价值流管理主要分析指标13 价值流管理行业发展现状14 价值流管理在软件研发领域的成熟度15 价值流管理产品图谱16 价值流管理发展历程17 价值流管理面临的挑战20 中国场景的落地实践——研发效能管理23 中国企业研发效能管理需要双流结合模式25 双流结合模式推进团队研发效能管理26 研发效能管理核心指标27 极狐GitLab研发效能管理30 研发效能管理实践关键要素31 研发效能管理方法论体系(GDAI)34 研发效能管理轻松应对各类合规场景43 研发效能管理最佳实践——蔚来44 价值流管理 定义与背景 01 什么是价值流 价值流管理定义 •价值流是精益生产里面最重要的概念之一,价值流代表创造某种价值的一系列长期步骤,包括价值、活动、人员与系统、前置时间等因素。 •价值流管理帮助后台部门和团队拥有前台业务的思维和决策方式。 •价值流是指从客户需求到产品交付的整个生产过程中,所包含的所有环节和活动。价值流将原本孤立的业务环节连接起来,并帮助企业实现端到端的研发效能可视化。 价值流管理定义 02 什么是研发领域的价值流 •虽然价值流管理已经在制造行业获得诸多应用,但在软件研发领域,如果完全照搬生产制造业的做法,将带来巨大风险和挑战。软件研发不同于实体制造,因此我们需要一套更适合于研发场景的价值流管理分析方法与工具。 •软件研发的整体过程是通过一系列的活动为软件产品赋予价值,并交付给客户或用户。 •但在这个过程中,有些行为会影响到价值的流动。例如,在产品研发过程中缺少测试的环节,产品的缺陷没有被及时检测出来,产品质量无法得到保证,这就大大降低了产品价值的流动与交付。 03 什么是价值流管理 价值流管理通过价值流识别、分析和判断来实现。 01识别 识别无效和低效价值流 03判断 实现价值流效率的优化和提升 无效价值流低效价值流 优化和提升 02分析 分析消耗资源的合理性和可优化 部分 时间 人力流程 价值流管理定义 9 “价值流管理是一种让企业关注客户需求并通过优化价值流来满足这些需求的方法。” ——约翰·舒克,美国精益企业研究所所长 “价值流管理是一种通过对价值流进行深入了解和改进来提高企业效率和创新的方法。” ——詹姆斯·沃麦克,美国精益企业研究所创始人 10 价值流管理特征 研发团队面临的价值流管理挑战 如今市场中有许多软件研发的工具、产品和服务,研发团队也确实解决了一些效率问题。 但是研发过程中的两大挑战仍然造成了研发工作生产效率不高或者低于预期。 挑战01 研发资源不足(流程不可视) •流程安排不合理导致研发时间过长 •研发流程中的切换等待时间导致研发时间过长 11 价值流管理特征 挑战02 研发问题无法定位(价值度未识别) •研发流程中存在额外的工作没有被识别 •研发流程中存在冗余的工作没有被识别 根本原因在于研发流程和价值的无形性 •研发流程和价值的无形性造成了价值流管理的两大挑战:一是研发流程无法可视化,二是研发流程价值度无法识别。 •这两大挑战很大程度上源自于管理层以及研发团队对于价值流管理的认知不足。 12 价值流管理如何提升研发效能 启动目标 启动研发价值流管理 设立组织和流程的长期发展目标 绘制组织定义 绘制从产品到用户的全流程地图 确定每个流程相关的负责人 定义何为从产品到用户的价值流 识别 识别瓶颈、浪费、资源限制等问题,收集并报告相关核心指标 使用 为价值流设置目标,实时确定目前价值 流的流动位置 优化 利用价值流数据,不断调整研发价值流,从而提高研发效能和产品价值 13 价值流管理主要分析指标 DORA指标 部署频率变更交付周期 一段时间内,应用程序部署到生产环境的次数,代表研发团队交付价值的频率 从代码提交到将代码部署至生产环境的时长,代表团队进行代码评审、测试和部署的速度,部分反映了团队响应用户需求的速度 高效能表现——指标维度 1天内 多次 < 1天 0%- 15% < 1小时 部署频率 变更交付周期 变更失败率 服务恢复时间 变更失败率 变更部署到生产环境后发生故障的比例,代表团队交付稳定服务的能力 服务恢复时间 生产环境中发生故障到服务恢复的时间,代表团队快速监测、定位、诊断故障,并从故障中快速恢复的能力 15 价值流管理在软件研发领域的成熟度 价值流管理进入创新者象限 InfoQ最新发布的《软件研发文化和路径成熟度模型2023》报告中指出,价值流管理在成熟度模型中处于创新者象限,正处于萌芽阶段,但已经开始被市场所认知,未来发展潜力较大。 67% 高达67% 的受访者认为价值流管理非常重要 16% 只有16% 的受访者认为价值流管理不重要 16 基于研发的价值流管理与敏捷管理、数据分析等适配,从现有的产品定位和功能角度分析,价值流管理工具平台主要可以分为五种类型:敏捷管理、效能管理、数据分析、DevOps开发平台和其他价值流管理平台。 价值流管理产品图谱 敏捷管理 效能管理 数据分析 DevOps开发平台 其他价值流管理平台 17 价值流管理发展历程 01精益生产阶段 •20世纪80年代,日本丰田汽车公司开始采用精益生产模式,强调通过减少浪费提高生产效率和质量。 •此阶段重点:生产过程的优化。 •发展至1990年代,丰田在汽车制造业中的巨大成功验证了价值流管理可以帮助企业提高效能表现,同时也奠定了价值流管理在现代管理理念中的重要地位。 02价值流管理阶段 •21世纪初,随着信息技术的发展,企业开始将价值流纳入管理范畴。 •价值流管理的核心:通过对价值流进行全面分析和优化,实现生产效率和价值创造的最大化。 •工具和方法:价值流地图、瓶颈分析、持续集成等。 18 03综合价值管理阶段 •价值流管理逐渐演变为综合价值流管理。 •此阶段强调:在价值流范围内进行管理和优化,覆盖产品流程的多个环节。 需求设计开发 运维交付测试 •现代化技术和工具:综合价值流管理需要企业使用现代化的技术和工具,以实现更高效的价值创造。 DevOps 持续交付 自动化测试 19 04研发效能管理阶段 •伴随着国内管理理念的实践深入,更贴近中国市场需求的研发效能管理成为价值流管理理论落地的关键。 •重点:通过对关键流程和关键指标的采集、统计和分析,更好地帮助企业提升研发效能,实现价值流管理的目标。 价值流管理面临的挑战 01 对于价值流观测数 据的可得性挑战 •数据挑战:价值流管理需要收集和分析大量的数据,包括代码库、测试数据等。如何有效地收集、存储、展示和分析这些数据是第一大挑战。 •工具选择挑战:价值流管理需要使用多种工具来进行可视化和分析,如何选择和配置这些工具是第二大挑战。 02 企业内组织协同 复杂性挑战 价值流管理面临的挑战 •多团队协作复杂性:软件开发全生命周期涉及到多个团队的多个流程,价值流识别、分析和优化都可能面临跨部门的沟通协同,这带来了企业内组织协同的复杂性挑战。 •需要管理层发起和支持:根据对制造业和其他行业实践的分析,由管理层发起和支持的价值流管理会获得最大化的组织内部协同价值。这意味着,有效的价值流管理需要企业管理层发起和支持。 价值流管理面临的挑战 03 从观念到落地 需要体系化支撑 •研发领域落地实践较少:虽然价值流管理理念在全球范围内已经被广泛接受,但是成功的落地案例大多集中在制造业。在软件研发领域,如何将理论转化为实践目前仍然面临巨大挑战。 •尚未形成体系化的解决方案:在进行价值流管理实践时,许多企业迫切需要解决的问题是,如何将价值流数据与业务指标直接关联,并形成系统化的衡量体系与解决方案。 23 中国场景的落地实践 ——研发效能管理 研发效能管理是更适合中国场景的价值流管理实践和升级 需求价值流面临挑战 •在实际使用过程中,基于需求维度的价值流管理指标容易造成指标体系单一,指标优化无法完全体现业务的提效。 24 中国场景的落地实践 ——研发效能管理 研发效能管理是更适合中国场景的价值流管理实践和升级 工程实践流推动升级 •多维度分析:近年来,中国研发团队更聚焦研发效率,尤其是以多维度数据分析为基础的研发效能分析成为目前市场中的主流需求。 进度管理交付价值交付速度 0102 0503 04 交付质量团队贡献 •为不同角色提供优化方案:工程实践流可以为研发团队提供业务视角的效能评测工具,同时为企业中不同角色提供高效的衡量指标和调整优化方案。 企业视角 研发视角 管理者视角(项目负责人、研发负责人) 25 中国企业研发效能管理需要双流结合模式 在需求价值流面临挑战的情况下,加入工程实践流的双流结合模式成为推进团队研发效能管理的重要实践方式。 开发系统 项目管理系统 双流01提升研发体验结合双流结合前,研发面临:模式 推进 26 频繁切换 团队 双流结合场景下,研发可以在完成开发和测试任务后,借助代码合并进行 效能 研发需求状态的自动流转。 这样可以减少研发在项目管理系统和 管理 开发系统之间的频繁切换,研发可以将精力更好地聚焦在本职工作上,最终提升研发的工作体验。 02建立高效的研发过程管理机制 双流结合前,研发面临: 过程数据缺失 开发过程充满随机性 双流结合后通过系统化的工具能力,实现项目状态和代码状态的统一,降低工作随机性,提升过程数据的有效性,便于最终实现团队研发效能管理。 具体指标 •项目活跃度 •需求吞吐量 •需求交付周期 •项目成熟度 •项目告警数 •线上问题数/率 角色 •CEO •CTO •研发负责人 02面向人力角色 角色 •人力总监 •HRBP 具体指标 •人员有效代码量 •人员代码质量问题数/率 •人员活跃度 •人员投入产出比 具体指标 •团队代码活跃度 •团队技术栈 •需求吞吐量 •需求按时交付率 •项目告警数 •线上问题数/率 角色 •项目经理 •跨项目负责人 04面向基层管理者 角色 •小组负责人 具体指标 •MR的合并时间 •MR的评审时间 •MR的评审人数 •代码质量问题数 •迭代需求吞吐量 •迭代需求按时交付率 29 研发效能管理核心指标 05面向合规经理/IT经理 具体指标 •代码库安全度 •代码库下载克隆数 •代码许可证合规率 •代码漏洞数/率 •代码库权限数/比 角色 •合规经理 •IT经理 06面向运营经理/市场经理 角色 •运营经理 •市场经理 具体指标 •需求发布频率 •需求交付周期 •线上问题数/率 •产品投入产出比 •产品使用率 •客户满意度 极狐GitLab 研发效能管理 极狐GitLab有着多年践行研发效能管理理念的经验,并结合中国企业的具体需求后,认为数据驱动的DevOps