在软件研发趋于规模化的今天,企业纷纷意识到效能度量的重要性。宏观经济层面的压力、企业内部研发资源有限、监管要求不断提高,这些都成为了企业发展过程中的挑战。特别是在金融行业,业务方对研发团队提出了更高的效能要求,希望在有限的资源下实现更大的投入产出比。
尽管软件工程已经发展了数十年,从精益生产到敏捷开发,再到如今的数据驱动效能提升,许多方法论和工具层出不穷,但实际操作中,许多企业仍然难以解决“无限需求与有限资源”之间的矛盾。在大型企业中,这种矛盾或许可以通过规模效应来缓解,但对于中小企业来说,需求的波动性和资源的有限性使得这一问题更加复杂。
在研发数字化的过程中,不同角色对于效能数据的诉求有很大差异性:
-
高级管理层希望通过效能数据从宏观上把握整个部门的研发效率,识别出哪些团队的效率更高,并且能够通过这些数据来指导战略决策。
-
基层管理者更关心如何利用效能数据来排查团队存在的具体问题,希望系统能够自动生成效能洞察报告,给出明确的改进建议。
-
相较之下,工程师的需求则更加直接。他们更希望效能度量能够帮助他们解决在研发过程中遇到的“卡点”,而不是被大量的效能数据所淹没。他们的关切点在于如何消除阻碍他们工作效率的具体问题,而不是纯粹的数字统计。
需求规模的统一标尺
在效能度量过程中,大多数组织遇到的第一个难题就是如何统一需求规模的标尺。以往行业中常见的做法是通过“需求吞吐量”来衡量团队的效率,但这种方式在中小企业中并不适用。由于中小企业的需求个数相对较少,波动性大,这使得统一需求规模标尺变得非常困难。
在此背景下,我们调研了多种行业内的需求评估方法,包括经验法、故事点法和功能点法。经验法依赖于团队成员的主观经验,但这种方法的主观性较强,也很难在不同团队之间做比较。故事点法基于敏捷实践,通过团队成员的多轮评估来达成一致,这种方法适用于敏捷团队,但它的基准点在不同团队中也存在差异,因此同样无法实现统一的需求规模标识。
最终,我们选择了功能点法。功能点法是一种更为客观的需求评估方法,它通过识别系统的“数据功能”和“交互功能”,从用户的视角来评估需求的规模。这种方法的优势在于它能够让业务人员和技术团队站在同一个维度进行评估,避免了以往因评估基准不一致而导致的争议。
功能点法的应用与优化
在实际应用功能点法的过程中,我们发现这一方法虽然能够很好地解决需求规模统一的问题,但其成本较高。因此,我们对功能点法进行了本地化的裁剪和优化,降低了评估成本。
功能点法的实施可以分为五个步骤:
-
首先是识别评估的范围和边界
-
其次是识别系统的“数据功能”,包括内部逻辑文件及外部接口文件
-
再次是识别“交互功能”
-
接下来是确定各个功能的修改比例
-
最后汇总功能点的总和并转化为具体的工作量
这一套流程在内部得到了广泛应用,对于中小规模的需求,我们可以在20分钟内完成需求规模的评估,并将评估结果嵌入到研发流程中,帮助团队在开发初期就明确需求的复杂度和工作量。
效能度量体系的构建与运营
打造需求规模的统一标尺只是效能度量的第一步,接下来构建了一套完整的效能度量体系。该体系分为三个主要阶段:定义效能指标、采集数据、进行数据洞察和改进。
我们在定义效能指标时,遵循“问题导向”的原则,只选择那些能够真实反映团队效能的关键指标,避免因为过多的指标而导致团队压力过大。我们重点关注的指标包括“需求交付周期”、“人均需求吞吐规模”等,这些指标能够帮助我们在研发过程中快速发现问题,并采取相应的改进措施。
在数据采集的过程中,我们遇到的一个挑战是如何保证数据的准确性和一致性。由于研发流程的复杂性,数据容易分散在多个系统中,因此我们建立了统一的数据平台,将所有效能数据进行整合,并通过数据治理的方式,清除噪音数据,确保采集到的效能数据能够准确反映团队的工作状态。
数据洞察与改进优化
在完成数据采集之后,接下来的任务就是进行数据洞察和改进优化。在这一过程中,我们采用了多种分析方法,包括趋势分析、下钻分析和价值流分析。通过这些方法,我们能够从多个维度对研发效能数据进行深入剖析,找到流程中的瓶颈和改进空间。
以趋势分析为例,通过对比历史数据,我们发现某些团队在特定时间段内的交付周期明显延长,这提示我们需要对该团队的工作流程进行深入分析。下钻分析则帮助我们将问题细化到具体的研发阶段,通过将各个阶段的数据进行分解,我们能够发现问题的根源,并针对性地进行改进。
场景化应用与效能提升
在数据分析的基础上,我们将效能度量结果应用于实际的运营场景。我们为每个团队定期生成效能周报,通过这些周报,团队能够清晰了解自己的效能表现,发现需要改进的环节。同时,我们还为一线工程师提供了定制化的效能报告,帮助他们快速定位研发过程中的“卡点”,并通过具体的改进建议提升工作效率。
我们发现,通过这种数据驱动的方式,不仅能够提高研发效率,还能够有效提升产品的交付质量。特别是在需求频繁变化的情况下,效能数据为我们提供了一个明确的参照,使得团队能够更快地适应变化,并在复杂的环境中保持高效运作。
未来展望:大模型与效能度量的融合
随着大语言模型的发展,效能度量的方式也在发生变革。我们将继续探索大语言模型在效能度量中的应用潜力,通过引入更多的智能化工具和方法,推动研发效能的进一步提升。
在未来的工作中,我们将重点关注软件架构的优化和流程优化,特别是在已经摘取了低垂果实的情况下,深入挖掘效能提升的潜力。我们相信,通过不断优化研发流程,借助智能化工具和数据驱动的方式,我们的效能度量工作将能够为企业带来更大的价值。
本文节选自直播:视频课程:金融业场景化实战:如何高效度量研发效能并驱动业务增长 | 思码逸研发效能
主讲人:库宇,中邮消费金融有限公司 高级效能工程师
更多研发效能管理场景,请关注 思码逸-专业的软件研发效能度量分析平台