头图

如何科学管理技术团队的研发交付速率?

每当提及「研发效能」,我们都在谈论什么?

研发效能管理要在保证质量的前提下,思考如何更快地向客户交付价值。在管理实践中,效能度量涉及三大维度:交付速率交付质量交付价值

技术团队对内如何优化开发流程,以提升交付速率和质量?对外如何围绕价值交付,与产品、业务侧同事开展紧密高效的研发协作?在众多亟需攻破的效能难题中,Cycle Time 都是极为关键的速率管理发力点。

01 是什么 Cycle Time?

Cycle Time 原是精益生产的专业术语,描述了某个工序制造一单位产品或某过程完成一个工作循环所需的平均完整时间,可以确定机器或工序的生产能力和效率。

在软件研发中,Cycle Time 是指技术团队从头到尾完成一单位研发工作平均需要的时间,即研发工作从进入开发到发布上线所经历的平均时间

图片

02  为什么应该关注 Cycle Time?

Cycle Time 是反映技术团队工作速率的结果度量指标,可以帮助团队识别障碍、有的放矢地优化改进并实现更快更好的价值交付。

  • 更快地响应。 缩短 Cycle Time 的本质是更快地向客户交付价值,响应变化。
  • 识别障碍和待改进空间。 跟踪对比多项目或跨周期的 Cycle Time 有助于识别和定位效能瓶颈,便于及时调整优化。
  • 及时反馈,避免浪费。 分析优化前后的 Cycle Time 可以快速掌握优化效果,辅助进一步决策,避免长时间的空耗和等待。
  • 提供风险预警支撑。 以历史和平均 Cycle Time 为效率基准,在过程管理中为风险预警和进度管理提供数据辅助。

总的来说,研发团队应该持续跟踪 Cycle Time,灵敏地识别开发过程中的效能瓶颈,并通过建立标准、流程优化、任务拆分等持续改进,增强组织敏捷性,提高开发速率,快速交付价值。

03 如何计算 Cycle Time?

前面说到,Cycle Time 表示一单位研发工作经历从「进入开发」到「发布上线」平均需要的完整时间。

为了便于计算,此处定义一单位研发工作为「Git 中的一个工程任务」。在管理实践中,一单位研发工作也可以是一个故事点数、一个用户故事等等。

图片

技术团队需要提前约定开发流程中每个环节「工作开始」和「工作完成」的标准,并确保所有人都为此达成共识。

  1. 编码时间:DoR 是技术团队需求准入的标准,因此编码时间是「需求符合 DoR 要求,抵达技术团队」到「完成编码,发起 Pull Request 请求」的平均时间。
  2. 拾取时间:从「发起合并请求」到「代码审查开始」的等待时间为代码拾取时间。拾取时间越短,说明跨职能的技术团队协作越紧密,审查过程越健康。
  3. 审查时间:一般将「首条评论产生的时间」视作代码审查的起点,而「分支确认合并」则是代码审查结束的标志。
  4. 部署时间:常以「分支确认合并」为始,以「新代码成功同步到生产环境」为终。

基于清晰统一的节点标准,技术团队就可以计算各个环节的平均工作周期,并通过平均值加总得到 Git 工程任务的 Cycle Time。

同时,结合不同环节的耗时分布和交付数量,技术团队还可以制定流程规范和优化方案,将效能瓶颈逐个击破。

图片

04 如何缩短编码时间,提高效率?

技术团队的编码周期过长,可能有以下原因:

  • 需求很复杂:功能复杂、耦合度高、颗粒度大的研发任务通常需要花费更多时间。
  • 需求不明确:用户调研或需求分析不到位、产品频繁变更都会拉高沟通成本,多次返工和变更也会影响代码质量和速率。
  • 需求太难了:开发人员缺乏项目必备的专业知识,边学边做,或者突现计划外的技术难题都会制约开发效率。
  • 流程繁琐混乱:代码提测路径长、被频繁打断而无法专注于代码实现,都是工作流程不优导致的效能瓶颈。
  • 重复的机械劳动:代码手动 Commit、人为的消息通知和任务指派也是对技术团队精力和时间的极大浪费。

因此,提高技术团队的编码效率可以从流程规范和优化、自动化工具的投入,和能力提升与培养三个角度入手。

1. 建立流程标准和协作规范,把控准入需求

开展工作的前提是保证技术团队一直在交付最有价值的事情,因此可以采用敏捷开发方法,对需求进行价值排序,确定优先顺序。

第二,同产品团队一起建立协作流程规范,并明确需求准入的标准(DoR),说明含需求粒度、任务拆分和分解、相关的上下文和说明文件等在内的要求。通过加强起点的把控,提升开发速率。

2. 构建内部知识库,将繁复的操作和流程自动化

合理利用优质开源项目、时兴的效率工具与自动化插件,加快代码编写的速度并提高质量,以减轻语法检查、手动提交等事务性工作的压力。

同时,鼓励开发人员积极沟通,定期举办内部知识分享会,促进相互学习;建立代码知识库,收纳相关代码以供检索和复用,避免低效和浪费。

3. 规范开发标准和良好习惯,持续学习

由上至下地推行统一的代码规范,鼓励开发人员遵循最佳实践,例如编写干净、文档齐全的代码和使用一致的编码约定,减少调试和故障排除的时间。

定期组织培训或展开指导,持续了解新技术,学习新知识,尝试新工具。不断精进专业实力的同时,主动扩展知识带宽。

LigaAI 总结一下

Cycle Time 是衡量技术团队开发速率和交付能力的重要指标。在相同的交付质量和价值度量的前提下,更短的 Cycle Time 意味着研发团队能更快地响应市场和需求的变化,更快地向用户交付价值。

Cycle Time 表示研发工作从符合 DoR 并进入技术团队起,到发布上线所需的平均完成时间,与编码、拾取、评审和部署的周期皆有联系。其中,控制好需求准入标准,合理利用新兴技术和项目都有助于缩短编码周期,加快开发速率。


关注研发效能,专注科学管理。LigaAI 将持续分享更多研发效能度量体系的搭建经验,以及度量指标管理方法等干货内容,助力研发团队击碎效能瓶颈。

请持续关注 LigaAI@SegmentFault 帐号,获取更多资讯。

也期待您点击LigaAI-新一代智能研发协作平台,在线申请体验我们的产品,与 LigaAI 一起做大做强💪

全新的智能研发管理平台。持续产出敏捷开发、机器学习等干货内容ing……

46 声望
9 粉丝
0 条评论
推荐阅读
避雷!遇到这 5 种产品经理,就快跑吧!
你会发现有一些人总在妥协,而他们的特点也非常明显。一种是灭火达人。 产品着火了,利益相关者上火了,产品经理也火烧屁股了。他们每天被战火纷争的会议塞满,却完全没有交付价值,只是被推着不停修复 Bug 并匆...

LigaAI阅读 98

封面图
最好用的 python 库合集
🎈 分词 - jieba优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果 {代码...} 🎈 词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出 {代码...} 🎈 ...

tiny极客11阅读 3.5k评论 2

封面图
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

民工哥14阅读 1.9k

封面图
疫情已过,2023 我的前端面试记录
顺利入职。把我最近找工作的心得记录下来。工作交接确定 lastday整理手头工作,相关对接人、交接人放文档中工作交接过渡阶段。做好被咨询者,该拉人拉人,该拉群拉群平时沟通顺畅的同事如果没有 WX 可以加一个属...

linong11阅读 1.1k

终于卷完了!Redis 打怪升级进阶成神之路(2023 最新版)!
是一种非关系型数据库服务,它能解决常规数据库的并发能力,比如传统的数据库的IO与性能的瓶颈,同样它是关系型数据库的一个补充,有着比较好的高效率与高性能。专注于key-value查询的redis、memcached、ttserver。

民工哥10阅读 810

封面图
思否 CTO 祁宁:社区问答是激荡高级智慧的头脑风暴
在祁宁家里,有一套完整的赛车模拟器,他甚至还请人到国外代购了最新的 VR 设备。作为沉浸式赛车游戏发烧友,除了享受速度与激情带来的愉悦感,祁宁在玩的过程中更多的是思考如何将技术能力进行产品化的问题。

万事ONES6阅读 12.9k评论 1

封面图
硬卷完了!MongoDB 打怪升级进阶成神之路( 2023 最新版 )!
前面我们学习:MySQL 打怪升级进阶成神之路、Redis 打怪升级进阶成神之路,然后我们还在继续 NoSQL 的卷王之路。从第一篇文章开始,我们逐步详细介绍了 MogoDB 基础概念、安装和最基本的CURD操作、索引和聚合、工...

民工哥6阅读 450

封面图

全新的智能研发管理平台。持续产出敏捷开发、机器学习等干货内容ing……

46 声望
9 粉丝
宣传栏