您的位置:  首页 > 技术杂谈 > 正文

什么是研发 Lead Time?我悟了!

2023-05-19 11:00 https://my.oschina.net/u/5057806/blog/8816939 LigaAI 次阅读 条评论

嗨,朋友!你听说过「新型工伤」吗?

我好像「赛博确诊」了😣

那天朋友约我吃饭,我下意识回复了句「好的,那我提一个日程」……还有上次跟一位准妈妈聊天,我好奇宝宝的预产期,结果脱口而出「宝宝预计什么时候发布呀?」

孕妈妈 Be Like

小编观察到,这种生活语言系统被职场黑话污染的「新型工伤」辐射范围还不小。就比如昨天,我只是抱怨了一句「外卖等了好久」,就被拉着科普了一中午「什么是 Lead Time」😓

简单地说,用「餐品已送达」的时间减去你下单的时间——更准确的说法是「商家已确认订单」的时间——得到的时间差,就是商家的 Lead Time。因为点外卖需要提前下单,所以 Lead Time 也被翻译成了提前期或前置时间……

01 什么是 Lead Time?

和 Cycle Time 一样,Lead Time 也是精益生产的专业术语。Lead Time(交付时间)是指企业从接受客户订单开始,到成功向客户交付货物结束,中间所间隔的全部时间。

在软件开发语境中,研发团队的 Lead Time 是需求从被确认(即产品经理采纳需求)到上线交付所需的时间,也就是「From Idea To Launch 」的时间。

以 LigaAI【看板视图】中的研发需求为例,单一用户故事的 Lead Time 可以通过计算完成状态与创建状态的时间差值得出。而有统计结果表明,研发团队的整体交付时间通常符合韦伯分布,因此建议选用 85% 分位数进行分析,而不是平均值。

之前介绍 Cycle Time 的文章中,我们曾讨论过,Cycle Time 是指技术团队从头到尾完成一单位研发工作所需的平均时间。那么,Lead Time 和 Cycle Time 二者有怎样的关系或区别呢?

02 Lead Time vs Cycle Time

这个问题,让我们从「一个需求的一生(敏捷开发版)」说起。

一个创意/想法/反馈被提出后,要先通过产品愿景和目标的价值匹配等处理,由产品负责人确认是否可以接纳其成为待开发需求。

已采纳的研发需求会被记录在产品待办列表(Product Backlog)中,经过需求分析、需求拆分、需求评审、优先级排序、工作量估算等一系列步骤,变成一个个清晰明确的小粒度、高优先级的用户故事。这个过程会剥离出当前优先级/价值较低的需求,继续接受待办列表细化的考验。

在迭代计划会议上,Scrum 团队讨论符合 DoR(Definition of Ready)要求的用户故事,并结合优先级、工作量等,将其规划进迭代待办列表(Sprint Backlog)中,投入迭代开发。

当需求顺利通过开发、测试、部署,被成功发布到生产环境后,Lead Time 和 Cycle Time 的计时就按下终止键。

也就是说,Lead Time 包括了用户故事的准备时间、在积压列表中的等待时间和研发团队实现需求的周期时间(即 Cycle Time)。

敏捷联盟(Agile Alliance)还指出,Lead Time 和 Cycle Time 分别代表了不同角色的度量视角。前者从「用户视角」出发,衡量了需求从被确认到被满足的时间,而后者从「开发者视角」出发,衡量的是研发需求/用户故事从开始开发到成功交付的间隔时间。

总结一下。Lead Time 和 Cycle Time 都是用于度量研发速率的有效指标。Lead Time 以 PBI 的创建为起点,体现了研发团队响应需求的能力,而 Cycle Time 以需求进入迭代开发为起点,反映的是研发团队交付价值的能力。在数值关系上,Lead Time 包含了 Cycle Time。

03 Lead Time 的重要性

DORA(DevOps Research and Assessment)研究表明,速度和稳定性是影响研发效能的两大重要维度。其中,变更前置时间(Lead Time for Changes)正是影响研发效能的四大关键因素之一。

Lead Time 和 Cycle Time 作为研发速率的两大度量指标,在提升组织敏捷性和适应性方面卓有成效。结合行业标杆参考值,技术管理者可以快速定位效能瓶颈和潜在风险;利用行业可复制经验和新兴技术,能将组织效能提升落到实处,持续学习、持续改进。

像适当减少 WIP 数量、缩小需求颗粒度、持续集成、自动化测试、自动化部署、提高代码质量、打造和维护「高信任、低指责」的组织文化等等都是提升研发交付速率的常见有效手段。

# LigaAI 总结

研发团队的 Lead Time(交付时间)是需求从被确认到被满足的间隔时间,体现了研发团队快速响应需求的能力,是度量研发速率的重要指标之一。

单一研发工作的 Lead Time 可以通过计算完成状态与创建状态的时间差值得出,而研发团队整体的交付时间应取 85% 分位数展开分析。

最后,我想问问朋友们,我这种「新型工伤」有没有成熟的解决方案啊?


LigaAI@oschina 还将持续分享更多研发效能管理、度量体系搭建的实践经验,以及科学的度量指标管理方法。

关注 LigaAI - 新一代智能研发协作平台,欢迎申请试用我们的产品,一起变大变强!

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接