5种让冲刺速度更快的方法

简介: 5种让冲刺速度更快的方法

大家好,我是阿萨。有时候不太喜欢把英语翻译成中文,感觉翻译过来后就没法完全表达那个意思了。比如Sprint Velocity。这个词就是今天的主角。


今天先解释sprint速度背后的基本概念,然后提供5种提高敏捷软件开发团队速度的方法。


什么是冲刺速度?


敏捷开发中的速度衡量的是团队在冲刺中可以完成的工作量。它可以用故事点、小时或理想天数来衡量。理想情况下,团队的工作速度越高,他们交付的软件功能就越多,为客户创造的价值也就越多。


Sprint速度可以在Sprint项目管理中用于评估和估计团队生产力。在下面的图表中,sprint 5的效率非常高——团队制作了将近40个故事点。他们的平均速度大约是10个故事点。


平均冲刺速度,通常在最后三个迭代中进行,可以帮助研发领导了解团队可以完成多少工作,并为未来的冲刺计划工作量。


理解敏捷/Scrum速度:关键概念


下面是敏捷方法的基本概念,可以帮助解释速度。


能力


能力不同于速度,因为它衡量的是团队有多少可用的时间,而不是他们完成了多少。一般来说,全职员工每天有6个小时的工作时间(包括休息、开会、收发邮件等时间)。因此,一个拥有10名开发人员的scrum团队,每周工作5天,持续两周,其容量为600小时。


故事点


敏捷团队使用故事点来量化从sprint backlog中构建用户故事或特性所需要的工作量。单位可以因团队而异。例如,一个团队可以决定一个小的故事或bug修复= 1分,一个中等的故事= 2-4分,一个大的故事= 5-8分。从一个sprint到另一个sprint,团队试图估计每个故事“值”多少分,并承诺完成一定数量的故事点,作为sprint的一部分。


完成的定义标准


在敏捷或Scrum项目中,“完成定义”是团队用来确定故事是否已经完成的验收标准。每个团队都有自己的“完成”定义。完成的定义通常要求功能正在工作,并且能够为客户提供价值。它可以包括其他标准,如测试、代码注释、文档、同行评审等。



燃尽图


燃速图(有时称为Scrum速度图)是冲刺速度的可视化。它显示了在sprint的每一天完成计划用户描述的剩余时间。燃尽图的斜率使得预测sprint的结果成为可能——将图扩展到X轴,以查看故事何时完成——提前、准时或晚于计划。



提高冲刺速度——几点注意事项


研发领导的目标之一是随着时间的推移提高敏捷或Scrum团队的速度;用同样的资源取得更多的成就。虽然这是一个重要的目标,但也不能盲目追求:


速度不等于业务价值——团队可能在数年时间里大致交付相同数量的工作特性。他们的速度是一样的,但由于他们的专业水平、团队精神和经验的提高,他们可以在相同的故事点内提供更多的价值和更高的质量。


速度可能以质量为代价——团队被迫交付更多、更快的产品,可能别无选择,只能走捷径,减少单元测试、代码审查、UI和可用性测试等实践。


速度是一个流动的概念——在敏捷中,速度由主观的故事点估计决定,并依赖于完成的定义。仅以速度衡量的团队将有强烈的动机估算更多的点数,或降低国防部的标准。


最重要的是,速度不是最重要的。这是一个重要的指标,但需要谨慎使用,以避免损害敏捷团队的一些最佳品质。


提高速度的技巧1:提高质量


提高质量可能听起来是反直觉的。更高的质量意味着在代码审查、测试自动化和错误修复方面有更大的投资,这使得产生新功能的时间减少。因此,你可能认为提高质量可能会降低速度。


然而,大多数敏捷实践者都认为,对质量的投资总是能在提高生产力方面得到回报。现在种植质量,以后播种优雅、可维护的软件,不浪费时间去追寻过去的错误。在生产中出现问题的团队不能以高速度前进。


提高速度的技巧2:停止在不必要的测试上浪费时间


开发人员花在测试自动化和维护上的时间越来越多。这是一个关键的活动,但也会减慢团队的速度。节省时间和提高速度的一个重要方法是消除不必要的测试。


这里有三个可能是浪费时间的测试的例子。


测试重叠--对于开发人员来说,为一个已经被其他测试部分或全部覆盖的功能编写测试是很常见的。这通常发生在端到端,UI或集成测试中;这些测试很复杂,往往涵盖几个软件组件。开发人员对系统中存在哪些测试以及它们所涵盖的内容没有太多的了解,这不可避免地导致了重叠。任何测试重叠都是对时间和精力的浪费。

测试未使用的功能--在当前生产版本中很少或从未使用的功能,不值得进行额外的测试。即使你发现了错误,它们也几乎不会影响软件的活跃用户。

测试没有变化的代码--代码已经稳定了几个季度,甚至几个星期或几个月,而且没有出现过故障,现在也不可能出现故障。为没有积极工作的代码添加测试可能是一种浪费,因为终端用户已经为你测试了这些代码。

敏捷或Scrum测试方法的一个重要补充是如何通过优先考虑为客户提供最多价值的东西使测试本身变得敏捷。


提高速度技巧3:优化Sprint计划会议


敏捷方法论主张不要提前太多计划,也不要太多细节。然而,一些提前规划可以产生重要的效率。


在你的冲刺计划会议上,一定要提前计划好几个冲刺,对接下来的1-2个冲刺进行详细的任务分解,对接下来的4-5个冲刺的用户故事只做 "存根",让团队了解 "大局"。这种额外的可见性有助于看到依赖性,识别挑战,并提前考虑方法和技术解决方案。


提高速度的技巧4:冲刺追溯和过程回顾


敏捷方法最著名的方面之一是反复的迭代,这有助于团队调整他们的流程、工具和团队工作。但有时被忽视的因素是冲刺回顾,当团队在每次迭代后坐下来讨论什么是成功的,什么是不成功的,以及如何改进。


敏捷团队收集有价值的见解,了解是什么拖累了冲刺--团队内部的合作、中断、技能缺失、与其他团队的接口、工具或技术问题。与产品负责人一起浮现这些问题,并找到切实可行的方法来解决它们,可以极大地提高速度。


重要的是,不要把回顾会议变成一个 "发泄会议",会议中讨论的问题必须被认真对待,领导者必须花必要的时间来解决这些问题。


提高速度的技巧5:增加外部资源或培训


敏捷的跨职能团队的概念使我们认为开发团队是自给自足的单位。他们应该建立工具,创建自动化,编写代码和测试--所有这些都在冲刺的范围内。


在现实中,许多团队发现很难凑齐他们所需的基础设施,同时还能产生新的功能。有些团队缺乏某些技能--例如,DevOps、测试自动化框架,或与新组件集成时引入的不同技术。


当这些问题发生时,管理者应该注意并尝试提供支持,以帮助团队通过保持生产力。


聘请外部或内部咨询,帮助建立所需的基础设施

培训以帮助团队成员掌握新技术

为团队补充拥有急需技能的新成员

购买更好的工具,以帮助解决问题或使团队更快发展。


总结


有很多方法可以提高冲刺速度,我们介绍了五种与几乎所有敏捷组织相关的方法。其共同点是,为了提高速度,我们必须现在就做出努力,"播下种子",以便在未来的冲刺阶段提高生产力。


软件质量可能是影响未来团队生产力和效率的最大因素。一个健全的、经过测试的、可运行的代码库是开发新功能的良好基础。相反,一个有严重测试漏洞的代码库,充满了技术债务,会使未来的开发非常困难。

相关文章
|
1月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
24天前
|
存储 数据可视化 数据库
团队文档管理有困难?总有一款工具合适你
本文介绍了团队文档管理的重要性及其在提升工作效率、保障协同作业和知识传承中的关键作用。随后,详细评述了六款广受好评的团队文档管理工具:板栗看板、Notion、Confluence、Quip、Google Workspace 和 Microsoft 365,分别从功能类型、发展历程、价格费用、产品特色、优缺点、适用场景及应用案例等方面进行了对比分析,旨在帮助读者根据自身需求选择最合适的工具。
团队文档管理有困难?总有一款工具合适你
|
1月前
|
搜索推荐 数据可视化 测试技术
迭代式开发:提升软件项目管理效率的关键路径
迭代式开发将软件项目划分为多个短周期,每个周期结束时交付一个可运行的版本,便于快速获取用户反馈并进行调整。与线性的瀑布模型相比,迭代式开发更具灵活性,能更好地应对需求变化。其核心在于小步快跑、快速反馈和持续改进。通过短周期迭代,团队能及时发现并解决问题,提高协作透明度,并根据用户意见不断优化产品。实施时需设定固定迭代周期、建立跨职能团队、采用持续集成与自动化测试,并重视每次迭代后的回顾与优化。尽管面临需求频繁变更、时间管理和团队协作等挑战,但借助现代办公协同工具,迭代式开发能显著提升项目管理效率,确保产品更贴近用户需求。
54 0
|
6月前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
【5月更文挑战第11天】程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
64 0
|
存储 达摩院
如何合理安排员工工作时间以提高效率和减少成本?—达摩院MindOpt
人员排班在各行各业都具有重要的实际应用价值,可以帮助企业和机构提高管理效率、降低成本,同时提升员工的工作满意度和整体效能。
如何合理安排员工工作时间以提高效率和减少成本?—达摩院MindOpt
|
敏捷开发 JavaScript 前端开发
接私活福音,validation组件敏捷开发,效率提升5倍!
接私活福音,validation组件敏捷开发,效率提升5倍!
628 0
接私活福音,validation组件敏捷开发,效率提升5倍!
|
前端开发 JavaScript 测试技术
为了降低维护成本(早点下班),我在组件开发中所做的那些优化(偷懒)
组件开发中为了稳定性、健壮性,经常需要为组件编写测试用例,然后还要为了开发者方便使用编写文档,都是非常耗时间的差事。作为一个独立维护组件库的程序员,为了能够降低组件维护的成本(早点下班),我总结了一下自己过去几年为了让组件开发更加高效所做的那些事情(偷的那些懒)。
|
缓存 负载均衡 算法
一对一源码开发,减少用户焦虑的三大优化要点
一对一源码开发,减少用户焦虑的三大优化要点
在一个执行力极差的团队工作是一种怎样的体验?
一个执行力极差的团队能把一个公司活活的拖死,在这种团队中工作是一种怎么的体验呢?相信很多小伙伴会对这种团队的工作氛围感兴趣。正好冰河在假期与一位经历过这种团队的朋友聊天,聊到了这个话题,今天就给小伙伴们总结下在一个执行力差的团队工作是一种怎样的体验!
290 0
|
运维 测试技术 持续交付
如何提升软件交付效能?答案未必如你所想
大家好,我是李倩,来自上海,是 KodeRover 的创始人 & TGO 鲲鹏会会员。很高兴能跟大家聊聊关于研发效能的话题,尤其是效能的量化和度量。通过度量认清短板固然重要,但靠度量提升效能却很难,特别是在工程能力不足的情况下做度量,甚至依赖度量制订绩效,都很容易出现问题。
2175 0