敏捷与速度

速度还是速率?敏捷度量的误区 敏捷开发中的速度不是真实的速度,怎样从速度的维度度量敏捷开发的成功与否,通过速度和速率的辨析,尝试k值的应用,探索敏捷度量的新方法。 阅读详情

敏捷与速度

陈能技

2007-12-25

 

原文:From Here to Agility:The Physics of Speed – Linda Hayes

 

我开始对敏捷的狂热感到惊讶。敏捷看起来成了快速的代名词,就像他们说的:“我们每个月发布一次,我们变得敏捷起来了。”但是你并不是因为更快而敏捷,你是因为敏捷而更快。事实上,如果你什么也不做,仅仅是缩短了发布周期,而其他什么都一样的话,你会比以前完成更少的工作。

 

明白敏捷开发如何让你更快速 – 而不是相反的 – 是让敏捷工作的关键。

 

减少摩擦

敏捷开发与传统方法的核心区别在于让变更变得更友好。这不意味着你需要笑着迎接变更;它意味着期待变更,并且让变更带来的影响最小化。换句话说,你通过减少摩擦来赢得速度。这可解释为更少的程式和相关的管理。

 

在瀑布模型你从业务需求分析开始,然后开发功能需求。随后是功能需求被用于描述用例,用例由测试用例验证和为最终用户文档化。软件围绕着高层设计来组织,然后由低层设计来细化和解析并转换成代码。这种阶梯式的行进方式实际上是在避免变更:我们设想通过系统的、全面的方法可以完全防止变更发生的必要性。

 

敏捷方法在脑海中始终保持这种逻辑思维:断言变更就是标准。软件反映的就是用户的需求,而用户是在一个动态改变的组织中,处于一个充满竞争的市场。因此,你永远也不可能真正预知什么是需要的 – 你只能适应它。为了避免对相同功能的多个表达方式的变更,需求被归纳成为索引卡;功能需求和用例被分解成测试用例;而代码则表达了设计的思想。

 

因此,通过减少大量的输出,我们可以减少变更所需要的工作量。

 

提高速率

敏捷模型的另外一个响应变更的方法是通过更小的迭代。不仅仅是更短,而是更小。与其收集所有可能的需求然后分配到一系列的迭代周期中,我们专注于目前的迭代。规划的周期越长,你就会越倾向于抵制变更:细化一个迭代周期只会带来下一个迭代周期的代价,让你脱离进度。

 

这个思想的背后是:用户在直到看到真正的产品之前是不可能真正知道他们自己需要的是什么。需求文档就像散文一样可以用不同的方式解释,但是代码操作只有一种方式。我们往往发现:当软件产品最终暴露在用户面前时,才发现需求文档充满了错漏和误解。

 

因此,用户能越快见到软件,与软件交互,你就越快知道软件是否满足他们的需求,即使不满足需求,你需要改动的东西也会比较少。

 

扩大不确定性

对敏捷方法抵制,不管是公开的抨击还是悄悄的害怕,都是由于敏捷论引入了不确定性。你不能预见下一个迭代,更不用说真正的发布,因为每一个迭代周期都可能包括新的功能或者对已有特性的调整。而如果你不能预见迭代的话,如何能计划发布呢?

 

更重要的是,缺少正式的程式会增加不可预见的更改带来影响的风险。如果缺少文档,后续的开发人员不能很好地理解软件的各个方面,以及如何运转,将会增加犯错误的机会。而且缺少需求和用例,将来的测试人员会更容易漏测一些功能。

 

对于很多人来说,敏捷给人的感觉是把小心谨慎抛之“九霄云外”,一头扎进混乱中去。毕竟,传统的过程已经被认为是不必要的了 – 从课程上学到的。

 

扩大包括的范围

尽管瀑布模型和类似的模型有存在的理由,但是其中的很多理由已经不再成立。早期使用计算机的目的是通过把手工过程加速来提高生产率,代码被小心翼翼地通过图表设计,并且从头到尾手工构造出来。软件开发可以 - 并且也确实是 – 花上几年的时间来完成。

 

然而今天的软件则专注于竞争 – 让过程和产品不能被手工复制,通常通过快速地组装各种组件和服务。不再是为了生产率,而是持续发展。整个市场形势可能在一年中剧烈地改变,因此速度不仅仅是需要的,而是必要的。每人会关注一个在4月16号以后发布的税务软件,即使它是多么的优秀。

 

那么你如何弥补因为缺乏正式的程式和更短的周期规划带来的风险呢?把所有利益相关方包括进来。

 

与其使用文档来与用户、分析师、开发人员、测试人员和技术文档编写人员进行信息的交流 – 这些人中的每一位都负责进度表中自己的那一部分任务 – 敏捷方法要求即时的、直接的、面对面的交流。讲和听会比读和写花费更少的时间,通过讨论要比通过编辑文档更容易暴露不确定性。这样,通过上下文来驱动进度,而不是通过其他方式。

 

但是这种方法的最显著的影响莫过于不再是业务需要IT企业的发布日期,而是业务决定什么时候得到自己的需要。这种责任的转移是关键的,因为IT企业不再负责“按期”发布,更需要防范变更。

 

这是管理层在考虑敏捷时经常遗漏的。经理们设想敏捷改变了IT操作方式,实际上,敏捷需要整个组织的改变。除非大家接受了这个新的模型中的角色和职责,敏捷开发只是一时的狂热,承诺的比实际得到的少。

 
敏捷转型期如何平衡速度与项目管理成熟度? 敏捷转型已成为现代软件开发的主流趋势,但许多组织在转型过程中陷入"速度与成熟度"的两难境地。本文旨在为正在经历敏捷转型的组织提供实用的平衡策略,帮助他们在保持快速交付的同时,逐步建立成熟的项目管理实践。本文将首先分析敏捷与瀑布模型的本质区别,然后揭示敏捷转型中的常见陷阱,接着提出平衡速度与成熟度的实用框架,最后通过案例分析和工具推荐帮助读者落地实践。敏捷转型:组织从传统瀑布式开发转向敏捷开发方法的过程项目管理成熟度:组织在计划、执行、监控和交付项目方面的能力水平速度与质量平衡。 阅读详情

相关推荐

敏捷开发中的代码审查:如何平衡速度与质量?

本文聚焦敏捷开发场景下的代码审查实践,覆盖从小型创业团队到中大型技术团队的通用痛点,重点解决“如何在不拖慢迭代节奏的前提下,保证代码质量”的核心问题。内容包含审查流程设计、工具辅助、团队协作技巧等实操方法。本文将从“为什么敏捷需要代码审查”讲起,用“蛋糕店试做新蛋糕”的故事类比核心概念;接着拆解敏捷与代码审查的矛盾与协同关系;然后通过“四步轻量级审查法”“自动化工具矩阵”等具体方法,结合Python代码示例和团队实战案例,讲解平衡速度与质量的落地策略;最后分享工具推荐、未来趋势和思考题。敏捷开发。

软件工程实践的博客 840

(转发)敏捷=快?误区

https://www.jianshu.com/p/ba36ecd83978 今天看到某讨论群有位敏捷教练写得不错,转发收藏之: 不少人认为敏捷开发就是意味着快,实际上敏捷开发一点也不快,甚至更慢。但要说它快,也没错,它的快并不是体现在开发进度上。 开发进度 从开发进度上来说,敏捷的进度反而更慢, 更慢,更慢,来看看我们的开发团队每天实际的工作有哪些? 对PO给出的用户故事进行评审...

jackyrongvip的专栏 452

14、敏捷项目中的规划扑克与速度管理

本文详细介绍了在敏捷项目中使用规划扑克和速度管理的最佳实践。探讨了理想时间和故事点的区别,规划扑克的估算流程和优势,以及如何正确计算和预测团队速度。同时分析了影响速度的因素,避免速度管理误区,并提出了持续改进的实践建议。通过案例分析和协同流程图,帮助读者更好地理解规划扑克与速度管理的协同应用,以实现项目的高效交付和团队绩效的提升。

149

速度

速度是敏捷项目中运用的主要度量,用来预测交付期限,它通过给在迭代中团队需要完成的用户故事增加故事点来计算。 1、需要记住的点: • 速度是团队每次迭代完成工作量的观察,而不是估算或目标; • 速度是基于参考估算时间和团队规模而定,不是由时间或由团队成员以外的任何人来决定的; • 速度是对特定项目特定团队的跨迭代比较。 ...

weixin_37123068的博客 658

39、以敏捷速度构建安全体系

本文探讨了如何在敏捷开发环境下构建高效的安全体系,涵盖了安全培训、技术债务处理、文化变革以及通用安全开发生命周期的实践要点。通过协同安全培训与技术债务管理、持续推进组织文化变革,并结合未来安全发展趋势,帮助企业实现以敏捷速度构建安全体系的目标,从而应对不断变化的安全挑战,确保软件的安全性和可靠性。

o5p6q的博客 95

13、敏捷开发中的估算与速度:关键概念与实用方法

本文深入探讨了敏捷开发中估算与速度的关键概念及实用方法。文章详细介绍了估算在不同阶段的应用、估算原则、估算单位(如故事点和理想天数),以及如何测量和预测团队速度。同时,讨论了影响速度的因素、速度的合理使用以及如何利用速度范围进行更准确的项目规划。通过理解这些核心概念,团队可以更好地应对项目中的不确定性,提高项目成功率。

79

讨论一下敏捷中关于task和sprint的速率估算吧

我接触到一个scrum team, 在拆分story的task时,按照如下规定: 1、一个工作日的理想工作小时为5个; 2、story point总数量乘以3(3是team的经验值),即是这些story总的要花费的小时数。总的小时数除以5即得出要花费的天数。 对规定1,我不反对;对于2,这个team这样做的目的也许是为了计算作完一个项目需要的时间,我认为笼统的乘以一个常量得出“理想”小时...

banner 960

23、以敏捷速度构建安全体系

本文探讨了如何在敏捷开发流程中快速构建安全体系,介绍了多种安全测试方法,包括模糊测试、攻击与渗透测试和独立测试,并讨论了如何将安全元素融入敏捷冲刺流程。此外,文章还分析了安全决策的重要性、安全专家资源的合理分配策略,以及红队与紫队在安全实践中的作用。通过综合运用这些方法与策略,组织可以在保持敏捷开发速度的同时,有效提升软件的安全性。

o5p6q的博客 101

(书摘:用户故事与敏捷方法)第十一章 测量并监控速率

    正如第9章所讲到的,我们将项目分成一系列来做发布计划,每轮迭代中安排一定故事点的任务。一轮迭代完成的故事点就是项目的速率。为这个项目做计划时,我们可以用已知的速率,我们也可以自己假想一个速率。速率是一个有用的管理工具,所以在每轮迭代结束和迭代中监控团队的速率是很重要的。 测量速率    多数故事很容易清点:团队在迭代中完成了这些故事,所以他们的点数全部计算在内。假如一个团队某个

菊子秋天 1747

5、构建敏捷速度下的软件安全开发模型

本文探讨了如何在敏捷和DevOps环境中构建高效的软件安全开发模型(SDL),分析了软件安全开发面临的挑战与目标,深入研究了不同开发方法(如瀑布式开发、敏捷开发、Scrum和精益开发)与安全的融合方式。文章还对比了各种开发方法的特点与适用场景,并提出了将安全活动映射到软件开发生命周期(SDLC)的重要性。最后,文章展望了安全开发的未来趋势,并给出了构建安全软件的实践建议,旨在帮助团队在快速开发的同时提升软件安全性。

o5p6q的博客 70

4、以敏捷速度构建软件安全

本文探讨了如何以敏捷速度构建软件安全,重点介绍了软件安全开发生命周期(SDL)的核心要求与关键活动。文章从安全软件的定义出发,分析了SDL与软件安全的关系,以及如何通过明确活动的依赖关系、触发条件和执行流程,将安全有效集成到软件开发过程中。此外,还讨论了如何避免SDL与开发流程脱节,并展望了未来SDL的发展方向,旨在为开发者提供全面的安全指导,保障软件的安全性和可靠性。

o5p6q的博客 46

敏捷估算 视频_估算敏捷中迭代的速度

迭代敏捷 估计敏捷迭代的速度 (Estimating Velocity for Iterations in Agile)Agile allows companies to deliver value to their clients earlier and to adapt to changes faster. Agile methodologies such as scrum, kanban,...

weixin_26752759的博客 1236

22、敏捷开发中的故事点、速度和燃尽图

本文详细介绍了敏捷开发中的核心概念和工具,包括故事点、速度和燃尽图,以及完成标准的应用和重要性。故事点作为相对规模的衡量方式,帮助团队估算用户故事的工作量,而速度和燃尽图则用于监控团队的进度和工作节奏。文章还讨论了完成标准如何提升产品质量,并通过团队协作与持续改进实现高效开发。这些工具和技术相互结合,为团队实现可持续的工作节奏和交付高质量的产品提供了坚实支持。

d6e7f8g9h的博客 246

敏捷与效能:如何平衡速度和质量

1.背景介绍 在当今快速发展的科技世界中,敏捷与效能是一个至关重要的话题。敏捷开发是一种面向迭代和交付的软件开发方法,它强调团队协作、快速交付和持续改进。而效能则是衡量软件系统性能和质量的一个指标,它关注系统的速度、稳定性、可用性等方面。在这篇文章中,我们将探讨如何在敏捷开发过程中平衡速度和质量,以实现更高的效能。 2.核心概念与联系 敏捷开发 敏捷开发是一种面向对象、迭代的软件开发方法,...

AI天才研究院 1022

Git系列(一)、Git基础教程【建议收藏】

Git一、Git简介1.1、什么是Git? 一、Git简介 1.1、什么是Git? Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。 Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。 Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不用服务器端软件支持。 .........

一宿君 4万+

1.47寸ST7789V3彩屏硬件设计与驱动调试指南

TFT LCD是一种基于薄膜晶体管阵列控制像素明暗的主动式显示技术,其核心依赖于专用驱动IC(如ST7789V3)完成时序生成、GRAM管理与伽马校正。该类小尺寸彩色显示屏广泛应用于嵌入式HMI、IoT终端与可穿戴设备,具备高PPI、低功耗和SPI接口易集成等工程优势。理解RGB565数据格式、SPI Mode 0通信时序及关键寄存器(如0x36方向控制、0x3A像素格式、0x2A/0x2B地址窗口)是实现稳定显示的基础;而正确处理电源设计(严禁5V直供)、复位时序与背光PWM调光,则直接决定系统可靠性与能

weixin_30995917的博客 165

开发速度正在杀死敏捷吗?

敏捷宣言的签署者之一,Jim Highsmith在他最近的博客“开发速度正在杀死敏捷”中描绘了对开发速度“饥渴”的经理会用开发速度作为生产率的衡量指标。他写道:“……他们通常狂热的衡量开发速度——团队开发速度、不同团队间开发速度的比较、组织级的开发速度、甚至是每个开发人员的开发速度(呸!)”\Highsmith指出开发速度正被越来越多的用来衡量生产率。原因显而易见。任何衡量生产率的方法,可以帮助你...

cpongo5 113

VirtualBox虚拟机上ubuntu系统安装问题记:显示画面太小、启动就异常退出等

报错:Failed to load R0 module D:/VMMR0.r0: The path is not clean of leading double slashes: ‘D:/VMMR0.r0’ (VERR_SUPLIB_PATH_NOT_CLEAN).解决方法特别简单,就是安装VIrtualBox的时候不要安装在CDE等盘根目录下。首先VirtualBox的下载安装过程是比较简单的,此处就不赘述了。然后E盘下新建个目录,安装到这个目录下就可解决。

qq_42595610的博客 2825

敏捷开发中硬件迭代速度的瓶颈如何解决

敏捷开发中硬件迭代速度的瓶颈主要通过来解决。其中,优化设计验证流程尤为关键。硬件开发中的验证环节耗时长且成本高,通过有效的设计验证流程优化,如应用仿真工具、建立模块化设计方式,可以大幅缩短验证周期,提升整体迭代速度。

csssbad的博客 1072

Cocos Creator+微信小游戏:如何用wxDownloader实现资源动态加载与热更新

本文深入探讨了在Cocos Creator开发微信小游戏时,如何利用wxDownloader有效应对主包体积限制,实现资源的动态加载与热更新。文章详细介绍了从项目配置、资源标记到初始化加载的完整流程,并重点解析了基于MD5 Cache的缓存策略与版本控制方案,旨在帮助开发者构建稳健高效的资源管理体系,优化游戏启动速度与更新体验。

css33的专栏 822

用Arduino和RC522模块DIY一个NFC门禁卡复制器(附完整代码)

本文详细介绍了如何利用Arduino和RC522模块DIY一个NFC门禁卡复制器,包括硬件连接、软件配置、数据读写技术及完整代码实现。通过本教程,电子爱好者可以深入了解NFC技术,并构建自己的智能门禁系统,适用于家庭安全、办公场所等多种场景。

weixin_33704591的博客 500

敏捷安全卫士解密步骤_如何训练青少年运动员的敏捷、速度能力

这个Youtube频道非常棒,https://www.youtube.com/channel/UCM4GEVa1Qi1CTdJg0ljdoowhttps://www.zhihu.com/video/1085828515827519488这部影片对如何进行速度和敏捷训练课程进行了详细的阐述。首先介绍了如何与队员进行正确的沟通、激励他们在训练课中取得更大的进步It gives an inside lo...

weixin_30249997的博客 326

Blender.粒子效果

Blender.粒子效果 ✦ shift+A新建一个棱角球,细分(之后要分解成许多小颗粒) ✦ 给球添加粒子系统,这时播放粒子会向下掉,力场权重☛重力☛0后,粒子会在球体周围运动 ✦ shift+A添加一个力场,调整力场强度 ✦如果粒子运动太快,我们可以在输出属性中调整时间重映射的原始值 ✦想让粒子在球周围运动而不是发散出去,在物理属性找到力场设置,调整流的大小 ✦S键将球形缩小到看不见 ✦给粒子变添加立方体的形状,在粒子属性里找到渲染选项,将“光晕”改为“物体”,在实例物体中选择新建的立方

weixin_46385629的博客 6668
上一篇: 起个好名字的重要性
下一篇: 自动化测试整合的问题
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值