什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同

什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同。从本质上讲敏捷开发的一个重要目标是建立持续价值交付的能力。这种能力最终必须服务于业务的创新,促进业务的成功。

敏捷开发的目标——更早的交付

我们经常会说敏捷模式,那什么开发模式是不敏捷呢?我们通常说“瀑布”是不敏捷的。

瀑布开发模式把开发分成一系列阶段,如需求、设计、开发、测试,就像上图它画出来的,看起来很像瀑布,所以叫瀑布开发。问题是需求的交付难道不都是要经历这些阶段吗?

瀑布开发的本质问题并不是阶段,而是批量。需求批量地在一起进行设计,然后是批量地开发,批量地测试、交付等等。批量有什么问题? 首先,批量让价值交付延迟,所有需求在最后的阶段才能交付,价值交付比较晚。

价值交付比较晚又怎么样?看这幅图。左边是Intel的创始人摩尔,摩尔定律的提出者。摩尔定律告诉我们,18个月之后,用同样的钱能买到多一倍的东西,比如计算能力、存储量、晶元数等等。而右边这位是Google执行董事长施密特,他提出了反摩尔定律,表述为:“如果18个月之后我们只能卖出跟今天一样的东西,我们就只能得到一半的收入”。

反摩尔定律是摩尔定律的一个简单推论,它告诉我们,越迟交付的价值也是越低的价值。对硬件公司这很关键,甚至决定它们的的宿命——技术进步必须跟得上摩尔定律,否则利润就会被摩尔定律吞噬,让产品或公司走向灭亡。

软件或互联网服务又怎样呢? IBM在上世纪90年代,意识到不能做一家硬件公司,转而主攻服务和软件行业,它的确过了一段好日子。然而,很快互联网时代到来了,软件和服务行业的创新一下子加速了。这时,相对硬件公司,反摩尔定律在软件和互联网服务公司的作用是有过之而无不及的,时间的迟早可能不仅仅决定价值的多少,有时错过整时间窗,可能会一无所获。

反摩尔定律告诉我们,越迟交付的价值也是越低的价值。所以对于软件开发来说,瀑布模式延迟了价值交付,得到的价值也更少。相对瀑布,我们提出了迭代交付,我们把开发分成迭代,每个迭代交付一部分价值,更早交付的价值往往意味着更多的价值。就这一点来说,迭代相对瀑布的本质是,更小批量的快速交付,从而更早获取更多价值,和获取市场竞争的先机。

所以敏捷开发有第一个目标就是更快的交付价值,这里的快指的不是绝对速度,而是更早的交付。

敏捷开发的目标——有效学习和灵活响应变化

我们再看一个坐标图,这个坐标是项目的时间历程,最左是项目开始,最右是项目结束。纵坐标是团队拥有的这个项目和产品的知识,比如说用户要什么,采取什么样的产品方案,应该做什么样的功能,以怎样的形式来协作,选择什么样的技术方案等等。

我们想问一下团队(包括产品也包括开发、业务)什么时候对于产品和项目的知识最充分、最多?大家的答案都很一致,项目结束的时候。这显而易见,我们在项目进程中积累了知识,特别是当向用户交付产品后,用户反馈:“我要的不是这个啊,我说的明明是…”,这时候你瞬间狂涨知识,并感叹道“你怎么不早说呢?”。这中间可能有沟通问题,但更多可能的是,用户这时才清楚或能够描述他们要的是啥,更有甚者,我们可能一开始连用户是谁也未必能准确的定义。产品和业务开发本来就是一个探索的过程,开始时一定是最无知的时刻。

再问一个问题。项目中的大部分决策,是什么时间做出的呢?大家的答案也很明确——项目开始的时刻。这里埋藏了一个重大的悖论,我们在最无知的时刻,做出了最重要而且是绝大部分的决策,并把它作为随后执行的依据。面对不确定的技术、市场环境,传统开发模式已无法适应要求,悖论越发突出。

对于这一悖论,敏捷的对策还是迭代。开始时,我们会做出一些初始的决策,比如说总体目标是什么,大概的策略和打法是什么,从哪里开始,怎么检验等等。但这些只是初始决策,定义了大致的方向。在整个开发过程,我们迭代交付需求,获取市场的反馈和最新的信息,并基于这些反馈和信息,积累和修正对产品的认知,增量地决策和调整。

产品开发过程中,技术环境、市场环境、竞品策略、团队认知都会发生变化。面对变化的环境,我们必须承认自己的无知,在开发过程主动有效地学习,不断地汲取反馈,灵活地调整。这也是敏捷的第二个业务目标,有效学习和灵活响应变化。

综合上面提到的敏捷开发的两个业务目标,我们就可以给敏捷开发下一个定义了。敏捷指的是创建一个组织更快(早)的交付价值,和更有效学习和灵活应变的能力。

从能力的角度,敏捷的核心是持续交付价值的能力,以及以持续交付为基础的快速反馈学习能力。为了具备这样的能力,产品的开发和交付方式需要做出根本变化。这幅图从概念上体现了,传统批量式的开发方式到敏捷的持续交付方式的转变。

传统开发方式下,需求成批量的流经各个阶段和组织部门,如产品、UED、开发、测试、运营等直至交付,各个职能各自优化自己的工作,形成效率竖井。由于批量的原因,需求等待整个批量完成,才能集中进入下一阶段。从单个需求的角度看,需求大部分时间都处于等待状态。

上图的右半部分表达了这一过程,单个需求的实际处理的时间很短(图中折线中上面绿色的短线),它们大部分时间都处于等待状态(图中折线下面红色的长线),最终表现出的实际交付周期很长。

通过敏捷开发的实施,我们希望整个组织协调一致,更紧密协作,缩短交付周期。图中左半部分是理想的敏捷开发模式,它体现了敏捷开发的基本目标——持续价值交付和快速反馈、学习,这其中持续价值交付是基础。

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务了 300 万微信开发者的这款产品,又升级了

从云开发到低代码甚至零代码,技术领域在发生快速的变化,腾讯、阿里、华为等云厂商也在持续布局。作为一线技术开发者,“不懂云开发或者低代码,在未来甚至都找不到工作”,绝不是危言耸听。由于背靠微信生态,…

基于 EasyCV 复现 ViTDet:单层特征超越 FPN

欢迎使用我们最近开源的EasyCV,主要聚焦于最新的Vision Transformer模型,以及相关的下游CV任务 开源地址: https://github.com/alibaba/EasyCV ViTDet其实是恺明团队MAE和ViT-based Mask R-CNN两个工作的延续。MAE提出了ViT的无监督训练方法…

数据湖构建—如何构建湖上统一的数据权限

背景信息 阿里云数据湖构建产品(DLF)提供的统一元数据服务,通过完善各种引擎/表格式生态解决了数据湖场景下多引擎面临的数据孤岛和元数据一致性问题,实现了开源大数据引擎及数据湖格式元数据的统一视图,避免了各引擎…

从阿里云容器攻防矩阵API安全生命周期,看如何构建金融安全云原生平台

【编者按】云原生技术正在助力银行通过差异化业务进行创新,却也带来了由于研发/运维人员对新架构不熟悉所导致的基础设施风险、业务风险及数据暴露风险。如何在飞速更迭的技术环境下保持业务持续发展,同时保证业务整体的安全性,满足不断增强的…

StarRocks X Flink CDC,打造端到端实时链路

实时数仓建设背景 实时数仓需求 随着互联网行业的飞速发展,企业业务种类变得越来越多,数据量也变得越来越大。以 Apache Hadoop 生态为核心的数据看板业务一般只能实现离线的业务。在部分领域,数据实时处理的能力已经成为限制企业数据变现的…

使用 Databricks+Mlflow 进行机器学习模型的训练和部署

ML工作流的痛点 机器学习工作流中存在诸多痛点: 首先,很难对机器学习的实验进行追踪。机器学习算法中有大量可配置参数,在做机器学习实验时,很难追踪到哪些参数、哪个版本的代码以及哪个版本的数据会产生特定的结果。其次&#x…

数字工业 弹性安全丨2022 Fortinet工业互联网安全发展峰会成功举办

随着数字化转型的持续推进,工业互联网的作用和地位日益加强。而 OT 安全作为工业互联网体系不可或缺的部分,虽然受到越来越多企业的关注,但仍然面临着多方面的挑战。11月16日,一年一度的 OT 安全盛会——2022 Fortinet工业互联网安…

团队管理|如何提高技术 Leader 的思考技巧?

技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力。所以通常来说技术Leader的技能是虚实结合的居多,繁杂的工作…

关于 Data Lake 的概念、架构与应用场景介绍

数据湖(Data Lake)概念介绍 什么是数据湖(Data Lake)? 数据湖的起源,应该追溯到2010年10月,由 Pentaho 的创始人兼 CTO, James Dixon 所提出,他提出的目的就当时历史背景来看,其实…

蚂蚁链牵头两项区块链国际标准在ITU成功立项

近日,国际电信联盟第十六研究组(简称ITU-T SG16)召开全体会议。会上,由蚂蚁链牵头的两项区块链国际标准获得立项通过。包括: ITU-T H.DLT-SCLMR “Smart contract lifecycle management requirements for distributed…

使用 Databricks 进行营销效果归因分析的应用实践

本文介绍如何使用Databricks进行广告效果归因分析,完成一站式的部署机器学习,包括数据ETL、数据校验、模型训练/评测/应用等全流程。 内容要点: 在当下的信息化时代,用户每天都会收到媒体投放的广告信息,如何做到精准…

5年磨一剑|优酷Android包瘦身治理思路全解

稳定性、性能、包大小,在移动端基础用户体验领域“三分天下”,是app承载业务获得稳定、高效、低成本、快速增长的重要基石。其中,包大小对下载转化率、拉新拉活成本等方面的影响至关重要,这在业界已经成为共识,近年来头…

2022年“移动云杯”算力网络应用创新大赛圆满落幕,百万大奖揭晓!

11 月 17-18 日,2022 年移动云开发者技术论坛暨“移动云杯”算力网络应用创新大赛总决赛在苏州举行。活动现场公布了 2022 年“移动云杯”算力网络应用创新大赛总决赛获奖名单。同时重磅发布了移动云 openAPI 2.0、首届移动云量子计算大赛。 三大赛道齐发力&#xf…

代码注释的艺术,优秀代码真的不需要注释吗?

前言 前天回家路上,有辆车强行插到前面的空位,司机大哥吐槽“加塞最可恶了”,我问“还有更可恶的吗”,司机大哥淡定说道“不让自己加塞的”。似乎和我们很类似,我们程序员届也有这2件相辅相成的事:最讨厌别…

DataProcess-VOC数据图像和标签一起进行Resize

VOC数据图像和标签一起进行Resize 参加检测比赛的时候,很多时候工业原始数据尺度都比较大,如果对数据不提前进行处理,会导致数据在加载进内存时花费大量的时间,所以在执行训练程序之前需要将图像提前进行预处理。对于目标检测的数…

元宇宙持续升温,金蝶推出数字员工破圈而来

作者 | 伍杏玲 “金小蝶,请分析今年企业销售事业部的业绩”。 话音刚落,大屏幕展开一张张账务报表,一位身着西装,举止大方得体的数字人条理清晰地回复:“截至今年10月,企业销售事业部在签单金额、新签收入…

阿里云易立:云原生如何破解企业降本提效难题?

2020年以来,新冠疫情改变了全球经济的运行与人们的生活。数字化的生产与生活方式成为后疫情时代的新常态。今天,云计算已经成为全社会的数字经济基础设施,而云原生技术正在深刻地改变企业上云和用云的方式。如何利用云原生技术帮助企业实现降…

Alibaba/IOC-golang 正式开源 ——打造服务于go开发者的IOC框架

IOC(inversion of control)即控制反转,是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。IOC-golang 是一款服务于Go语言开发者的依赖注入框架,基于控制反转思路,方便开发人员搭建任何…

开启安全测试评估赛道,永信至诚发布“数字风洞”产品体系

11月19日,永信至诚产品战略发布会上,面向安全测试评估领域的“数字风洞”产品体系战略发布,标志着永信至诚作为网络靶场和人才建设领军企业,再次以“产品乘服务”的价值体系,开启网络安全测试评估专业赛道。 数字化时代…

云上弹性高性能计算,支持生命科学产业高速发展、降本增效

随着云计算技术服务及实践的日趋成熟,越来越多的行业通过上云实现了整个产业的转型升级,正处于黄金时期的生命科学行业也不例外。 作为拥有高数据量和高计算量的行业,生命科学的研究也早已离不开高性能计算(High Performance Comp…