本文大纲
1、中小型团队的典型研发效能痛点
2、基于深度代码分析的研发效能解决方案
3、研发效能提升效果
前言:根据Stack Overflow今年2月发布的开发者报告,在受访的55000名职业开发者中,有45.7%供职于规模小于100人的小微型企业,18.7%供职于规模在100人到500人之间的中型企业。如果将百人以内的研发团队定义为中小型研发团队,那么有超过半数的开发者正在中小型研发团队中工作,这是一个相当可观的比例。然而,软件行业内关于研发效能的讨论却极少从中小研发团队视角出发。
这其中固然有中小型团队倾向于关注业务交付,而将研发效能置于较低优先级的因素。但从我们与各行各业许多中小型研发团队的探讨来看,随着企业发展,研发效能痛点会很快变得显著,甚至成为业务发展的阻碍。
中小型团队的典型研发效能痛点
相比软件行业、互联网行业的大型研发团队,中小型研发团队往往更加受限于资源,也缺乏规范化制度与完善的工具支持。以下我们归纳出中小型团队所面临的典型研发效能痛点:
- 流程管理方面
研发团队管理制度不健全,缺少规范化的研发及管理流程。研发过程不透明,缺少项目进度、研发质量的客观呈现,更多依赖于人治。
- 研发效率方面
上线前加班多、工期紧张、单人多任务并行开发的现象频繁出现,但平时研发效率不高,产能不稳定。缺少了解研发进度的数据抓手,管理层难以知晓团队生产力问题与提升方向;项目经理也难以合理预估成本和制定研发计划。
- 研发质量方面
可能使用了一些单点功能的研发质量度量工具(如SonarQube),但缺少整体量化评价软件工程研发质量的指标,也缺少评估研发质量改善成本和效果的客观数据,导致研发质量方面的投入缺少针对性,尤其是产品仓促上线的情况下研发质量事故高发 。
基于深度代码分析的研发效能解决方案
- 流程管理方面
思码逸为研发团队提供了研发数据汇总分析的一站式入口,度量指标包括研发效率、研发质量及人才三方面,帮助研发团队各角色成员客观、全面地洞察研发流程及成果;同时结合研发团队实际情况,提供规范与制度设立的建议方案,根据以下四点策略推动研发管理向数据驱动转型:
- 由少到多
分阶段推进度量指标应用,先抓关键少数,再扩大应用范围
- 自上而下
管理层充分重视,筛选关键指标重点关注,自上而下逐级明确改善方案
- 持续关注
将关键指标纳入各级别(团队、项目、个人)定期汇报,持续分析指标变化,针对异常指标制定量化改善计划
- 及时优化
指标应用过程中及时听取一线开发者反馈,合理优化指标应用措施
- 研发效率方面
在同一公司内,不同团队/项目的研发效率也受到开发者人数、开发语言、业务特征、需求排期、项目阶段等多重因素影响,因此不应一刀切地粗放管理,而应当结合实际情况具体分析,寻找适宜的优化方案。
基于深度代码分析,思码逸能够回顾分析不同团队/项目的研发历史研发效率及稳定性,并提供近似项目研发效率数据作为行业参考,结合业务实际情况设立生产研发效率基线,一方面帮助管理层把握研发团队生产力现状,合理设定研发效率提升目标;另一方面及时识别后续研发过程中的研发效率异常点或异常趋势,分析成因并做出调整。
举个例子:某个研发团队反映每次项目上线前团队人手紧缺、加班加点现象非常严重,希望寻找优化措施。回顾其研发历史数据,其人月生产率均值呈现周期性的连续上升/下降,反映出该团队在项目前期可能存在较多依赖/等待产生的人力及时间的浪费,在项目规划、任务拆分与排期方面有较大提升空间。
为了使研发效率度量发挥更大作用,持续帮助研发团队提升,思码逸建议:
- 研发管理者定期对各团队/项目生产力指标进行纵向(同一团队/项目不同时期)及横向(同一时期不同团队/项目)回顾分析,量化评估研发效能变化,结合项目实际情况与行业参考,设立研发效率基线与提升目标,并持续追踪
- 将研发效率指标纳入各级别(团队、项目、个人)定期汇报。研发团队定期组织迭代回顾会议,对比基线评审研发效率异常情况,分析原因,并归纳提升措施
- 项目经理参与项目回顾会议,对实际开发当量和预估工作量之间存在显著差异的情况进行讨论,提高项目成本预估与计划的准确性
- 研发质量方面
时间与资源有限,业务侧不断抛出需求,交付期限近在眼前,怎样平衡研发效率与研发质量?面对永恒存在的软件工程质量问题,既要警惕短视的“头痛医头,脚痛医脚”,也要避免流于空泛的“眉毛胡子一把抓”。
思码逸提供软件工程质量度量体系,涵盖注释覆盖度、测试覆盖度、代码复用度、函数复杂度、模块性和问题积压六维指标,能够帮助研发团队建立研发质量监督全景视角,设定研发质量控制标准和改善流程。
那么如何在多个研发质量指标中快速定位关键研发质量问题?不同阶段、不同业务都可能会导致研发质量的侧重点有所差异。因此,思码逸精细度量各团队/项目的研发质量,并提供近似项目研发效率数据作为行业参考,帮助管理者快速对比,结合实际情况明确研发质量改进重点。
在明确关键问题后,研发团队可以讨论确认优先改进范围(例如最近三个迭代的研发质量问题),进而量化改进期限以及目标。针对各项研发质量问题,思码逸能够给出具备可操作性的代码级修改建议,并自动匹配代码责任人,敦促开发者快速响应解决,使研发质量改善真正落到实处。
思码逸建议:
- 研发管理者定期对各团队/项目软件工程研发效率指标进行纵向(同一团队/项目不同时期)及横向(同一时期不同团队/项目)回顾分析,结合项目实际情况与行业参考,设立研发质量基线与改善目标,并持续追踪
- 将研发质量指标纳入各级别(团队、项目、个人)定期汇报。研发团队定期组织迭代回顾会议,对比基线评审研发质量异常情况,分析原因,并归纳提升措施
- 开发者定期查看自己的软件工程研发质量报告,参考团队/项目的研发质量改善目标与系统给出的修改建议,主动提升代码研发质量,避免技术债堆积
研发效能提升效果
数据说话,以某规模70+的研发团队为例: