阅读本文你将收获:
1、戴尔科技如何建设研发效能平台
2、以代码当量为切入点,开启效率度量
3、以研发效能度量支持成长期团队效率需求
4、研发团队基于人员技能分析建设个性化培训体系
戴尔科技集团 VxRail 研发团队(以下简称 VxRail 团队)目前处于快速成长期,在研发效能方面主要关注如何在团队扩张的同时,使研发效率保持超线性的增长。
IT 行业性质决定了 VxRail 团队的产研特征:产品定制化程度较高、前置需求分析环节较重;存在多条产品线并行,同一产品线内存在多版本并行。
研发效能平台建设
软件研发是一套复杂的系统工程。要实现效率的超线性增长,需要从产品管理、资源分配、质效表现、自动化工具等各方面推进。
2020 上半年, VxRail 团队开始建设研发效能平台。
一方面,一站式平台为各研发团队提供自动化工具及配置管理,也与戴尔科技集团整体的工具链战略做协同。在保障各产品线工具链、研发模式、交付模式灵活的同时,避免了重复造轮子的浪费,提供了跨团队的组织级治理能力。
另一方面,平台自然而然汇总了各环节研发数据,并封装了各产品线的业务交付逻辑与流程,能够承载起研发效能度量及分析的功能,这篇实践经验将主要围绕这一部分展开。
以代码当量为切入点,开启效率度量
尽管一站式平台沉淀了大量数据,但这些数据较散乱,有效性待验证,无法直接用于度量。
2020 年下半年,VxRail 团队引入思码逸,以代码当量指标取代原有的代码行数指标,用于度量编码环节效率。引入前期 VxRail 团队进行了一系列验证、接入平台的 Pipeline 等准备,2021年初开始使用。
代码当量的统计原理是直接从代码中解析出工作量信息,能够在保障清晰可信的同时,以较低成本快速开启效能度量。而相比传统的代码行数统计,其优势在于可以挤掉代码中的水分,避免代码移动、增删等行为带来工作量的大幅波动,更加科学合理。
VxRail 团队引入代码当量指标时,尚处于效能度量建设早期,缺少研发效率的量化指标。基于代码当量指标落地成本较低、可信度较高的特性,VxRail 团队将其作为效率度量切入点,用数据来帮助团队认知研发交付现状,建立共识。
此外,代码当量直接来源于代码这个重要的中间交付物,受人为因素影响较少,因此具备健壮性较强、不易受噪音影响的特性。
基于这一特性,代码当量可作为校准其他指标的抓手,与上游的需求环节、下游的评审、测试、交付环节交叉分析,帮助研发团队洞察诸如需求状态流转不及时,研发数据缺漏等问题,逐步建立起可靠的全流程效能度量。
以研发效能度量支持成长期团队效率需求
前面提到,VxRail 团队内部存在多条产品线并行,同一产品线内存在多版本并行的情况;团队希望在快速扩张的同时,保持效率的超线性增长。
合理分配研发资源
从需求视角,VxRail 团队以版本为度量对象,区分版本类型(Major、Minor、Patch),从历史数据中统计出版本处于不同阶段的研发效率变化,建立效率趋势基准线。
基于基线,研发管理者能够识别忙闲不均、团队空转等造成浪费的系统性风险;项目经理也能够判断当前需要多少研发资源,合理规划排期与任务分配,在更前置的环节优化研发资源分配,实现高效率。
进一步地,VxRail 团队还结合项目阶段(孵化期、发展期、维护期等)、项目性质(核心竞争力是质量稳定还是功能先进)等属性进行分析,用精益项目组合管理(Lean Portfolio Management)的思想,有的放矢地投入资源,避免一味追求效率导致团队超负荷。通过关联研发产出与业务成果,抓住关键重点,使研发高效率能够真正服务于企业战略成功。
带动研发团队提效
从资源视角,VxRail 团队对开发者进行技能与成长性评估,支持人才引进、人岗匹配、培训成长的闭环,保障人才体系能够跟上业务成长的速度。
从事务视角,VxRail 团队借助量化数据,拉齐了对交付效率现状的认知,设立了提升目标,及时识别改进机会、稳步改进并持续获得反馈。
总体效率趋势图,绿色为 2021 年数据,灰色为 2022 年目标,蓝色为 2022 年实际数据
在敏捷转型中持续改进
为了更高效响应市场变化,VxRail 团队研发侧正在向敏捷转型:偏软件的团队采用 SAFe Agile 模式,与硬件有更多整合与依赖的团队则采用敏捷结合瀑布的模式。
下面从流程与组织两方面,介绍效能度量如何支持全面的敏捷转型。
流程方面:事后度量打通事前预估
在流程方面,敏捷实践中包含高频的迭代规划与回顾。有效的度量不仅能够使团队从回顾中获得更多洞见,也能支持更可靠的预估。
举个例子:前文提到,VxRail 团队建立了版本的效率趋势基准线。若在接近代码冻结的时间点,基准线显示主要开发工作本应已完成,事实上却仍有很多提交动作和代码当量,则反映出规划环节可能未充分评估风险、研发环节可能未充分前置风险,导致代码冻结未能真正达成。在迭代回顾中,团队需要识别这些异常点,充分讨论分析,并在后续迭代中实施改进。
多个版本 Feature Complete 时间点前后的工作量对比
度量与预估打通,也有助于研发团队规范实践,帮助敏捷转型顺畅进行。
例如,以代码当量为核心的编码环节效率数据,可以与故事点数等预估环节的工作量数据进行交叉分析,评估需求拆分和估点是否合理,校准需求颗粒大小,减少需求拆分误差带来的波动,进而提高故事点指标的可信度。
这让研发团队的负载估算、迭代规划、复盘回顾都更加有据可依。
组织方面:基于技能分析的个性化培训体系建设
在组织方面,敏捷转型需要组建职能齐全的小型自治团队,以满足对各个组件或者微服务端到端的交付需求,以更多的自主权来加快交付效率。这样的团队构造也对团队成员的能力提出了更高要求。
为了更好的支持组织在技能上的发展,VxRail团队利用思码逸在基于代码细节分析人才标签上的能力,进行全面的人才盘点与详细的人才画像,进而结合内部的培训体系,为不同职能、不同业务领域的工程师提供个性化的培训计划,并通过同一套系统,周期性地对团队的技能演进做出评估,来指导组织在预定的技能方向上持续的发展。
总结
在快速成长期,VxRail 团队以研发效能平台支撑组织级治理,承载起效能度量及分析的能力;并以代码当量指标为切入点,开启效率度量,在团队快速扩张的同时保障了研发管理的可见性。在定位关键问题后,通过合理分配研发资源、指导人才选用育留、识别迭代中的风险等系统性改进措施,来支持持续高效与敏捷转型实践。
最后,VxRail 团队也期望着在全面进入成熟期后,能基于现有的方法和系统的组合拳,进行产品线与组织结构的迭代,来从容应对行业与技术的迅速变化,保持产品及研发团队的长期活力和竞争力。