敏捷之道 | 敏捷开发真的过时了么?

写在前面
「敏捷之道」是 LigaAI 的全新栏目。在这里,Liga 希望能与更多朋友一起深入探讨「敏捷」知识,挖掘和发现更多工作和生活中的“敏捷可能”。新篇第一章,我们聊聊“什么是敏捷”。
在这里插入图片描述
敏捷开发虽然被视为“开发者的福音”,但却频繁被国内团队诟病成“世纪大谎言”。难道敏捷开发在国内真的行不通吗?

事实上,许多团队宣称的“敏捷”不是最初解放开发者的敏捷,而是片面理解需求、极端追求快速交付、忽略软件质量的“田园敏捷”。敏捷开发在国内实践的“跑偏”,源于对“敏捷”深度理解的缺乏,浮于表面的应用将“敏捷”错当成“快速”。因此,本篇希望与诸位就以下问题共同探讨“敏捷”的本质:

  • 敏捷开发是什么?
  • 敏捷开发的「敏捷」指什么?
  • 敏捷开发比瀑布开发更好么?
  • 打造敏捷开发团队的第一步是什么?

一、 敏捷开发是什么?

敏捷开发自1990年代起逐渐被广泛关注,作为一种新型软件开发方法,它描述的是一种快速应对变化的能力。

敏捷联盟(agilealliance.org)对敏捷开发的定义如下:敏捷软件开发是一组基于敏捷软件开发宣言及其背后的12个原则中表达的价值观和原则的框架和实践的总称。下面,我们来重温一下「敏捷宣言」,以及其背后的价值观和原则。

1. 敏捷宣言 Agile Manifesto

「敏捷宣言」诞生在美国犹他州的雪鸟城,一个跟软件革命或者科技创新没啥关系的滑雪基地。2001年,苦于软件开发中不合理的繁冗流程和文件,来自多个不同软件开发领域的17位代表聚集在一起(度假),讨论软件开发的未来。最终,他们达成了价值观和原则上的共识,共同签署并发布了「敏捷软件开发宣言 Manifesto for Agile Software Development 」,即「敏捷宣言」。

「敏捷宣言」在极限编程 (XP)、Scrum、动态系统开发 (DSDM)、水晶开发(Crystal Clear)、特征驱动开发(FDD) 等框架中找到了共同点,并定义了敏捷开发的四项核心价值观和十二条基本原则。

2. 敏捷价值观 Agile Values

「敏捷宣言」传递了不同于传统软件开发的四项价值观,即敏捷开发更重视

  • 个体和互动 Individuals and interactions
  • 工作的软件 Working software
  • 客户合作 Customer collaboration
  • 响应变化 Responding to change

「敏捷宣言」在价值观的最后说到:“尽管右项有其价值,我们更重视左项的价值”,而左项的四项价值,即流程和工具、详尽的文档、合同谈判和遵循计划正是传统软件开发模式——瀑布式软件开发的核心。

在这里插入图片描述

3. 敏捷开发原则 Agile Principles

「敏捷宣言」进一步拓展四项价值观,补充提出了敏捷开发应该遵守的十二条原则。

在这里插入图片描述

4. 敏捷开发 Agile Development

敏捷价值观和敏捷开发原则共同说明,敏捷开发以客户满意为目标,重视成员个体的能力与价值,强调团队内外需要紧密协作和高效沟通,认为个体内驱、团队信任、追求卓越和优化进步能推动项目进行。

敏捷开发的初衷是为了让软件开发回归到客户想要的软件本身,用价值产出取代规范文档推动项目完成。与非敏捷的传统软件开发模式相比,敏捷开发摒弃非必要的流程和文件,通过作业简化和团队内外的高效合作等,持续实现软件价值的短周期交付,让客户满意

二、 敏捷开发的「敏捷」指什么?

要回答“什么是敏捷”,首先要清楚敏捷开发的核心是什么:为什么敏捷开发要求短周期开发、持续交付、拥抱变化和少写文档?

  • 短周期开发和持续交付是为了获取客户反馈确认研发方向,避免最终产品与客户期望不符;
  • 拥抱变化是因为需求多变,要让最终的软件成果符合实际的使用场景,成为有价值的软件;
  • 少写文档是为了高效传递信息,专注研发,同时可以避免需求变更导致无效文档浪费时间。

可以看出,敏捷开发本质上是一个需求逐渐明确和丰富的过程,而敏捷开发的核心就是响应需求的变化。换句话说,敏捷开发通过降低试错成本(比如缩短研发周期、摒弃非必要文档等),减小需求变更对项目推进的影响。

如果说敏捷开发是一个具有实验性质的,不断实施“计划-实践-反馈-优化”循环的软件开发模式,那么敏捷则是一种主张化繁为简和良性反馈,强调定期优化和持续进步的价值观。

为什么「敏捷开发」在国内实践会脱离原有的轨迹,最后演变成「中华田园敏捷开发」?因为大家把「敏捷」搞错了。

敏捷强调要及时根据变化进行调整和优化,以减小负面影响,它反映的是一种快速响应变化的能力,而不是快速研发的能力。哪怕跳出软件开发领域,敏捷也仍然是一种能够贯彻“生活-工作-学习”的问题解决思维方式。就像百度词条所定义的:敏捷是一种通过创造变化和响应变化在不确定和混乱的环境中取得成功的能力。

三、 敏捷开发比瀑布开发更好吗?

如果细心留意「敏捷宣言」的表述会发现,初代敏捷联盟者不曾否认瀑布开发的价值,也未曾表示“敏捷价值观比传统软件开发价值观更有价值”。实际上,敏捷开发和瀑布开发,作为两种不同的软件开发模式,本来就没有绝对的优劣之分,毕竟任何方法或者工具都要放在具体场景使用中讨论才有意义,团队构成、项目性质、时间/成本等支持等都会影响方法有效性的最终判定。

可能有朋友要反驳:“端水大师吧你,瀑布已经过时了,现在大家都喜欢搞敏捷。” 对啊,为什么越来越多的团队和组织放弃了瀑布开发,转而选择采用各式各样的敏捷开发方式?

因为市场是快速变化的,用户的需求也是多变的。相比瀑布开发的标准流程,敏捷开发更能适应需求变化,做到随时响应。毕竟只有快速响应需求变化,才能保证在当下的商业环境中绝对竞争力。

「敏捷开发 V.S. 瀑布开发」是一个老生常谈的命题,两种方法各有特点,也分别适用于不同的场景:

  • 瀑布开发更适用于项目需求明确且鲜有变化的,或对项目计划要求高的开发项目;
  • 敏捷开发适用于需求多变的功能耦合度低或可用性可持续叠加的,以及迫切需要市场反馈的项目。

戳👇图片了解更多【敏捷开发 V.S. 瀑布开发】对比
在这里插入图片描述
关注 LigaAI公众号 并回复关键词「对比图」获取纯享版对比

四、 打造敏捷开发团队的第一步是什么

《新的新产品开发游戏》的作者发现,世界优秀公司最卓越团队具备以下三个特征:超越寻常、自主性和多功能。如果想要打造卓越的敏捷开发团队,应该从哪里开始?

首先明确卓越的敏捷开发团队是什么样的。「敏捷宣言」描述的“理想团队”有以下特征:

  • 业务人员和开发人员相互合作
  • 高效沟通(最好是面对面沟通)
  • 个体斗志,成员是项目核心
  • 坚持不懈地追求技术卓越和良好设计
  • 团队要定期反思,优化调整
  • 责任人、开发人员和用户共同维持稳定步调

如果理想的敏捷开发团队是高效合作、良好沟通、斗志昂扬、节奏一致的,那么打造敏捷开发团队的第一步,就是拥有一个「小而精且结构扁平」的软件研发团队。

  • 布鲁克斯法则指出,由于组内沟通成本增加等,投入更多的人来开发一个紧急的项目只会让进度更慢。因此,敏捷开发中,团队越小越有优势,而最佳的敏捷团队规模应该维持在 4-9 人之间,宜少不宜多。
  • 开发团队必须熟练掌握完成一个项目所需的全部技能,才能顺利推进项目完成。敏捷开发团队需要专业精湛且多功能的成员,换句话说,兼具深度专业和跨职能的「T型人才 T-shaped Person」是敏捷开发的最优选。
  • 扁平化组织结构所隐含的人性假设是,人除了社会需求外,还有一种想充分表现自己能力、发挥自己潜力的欲望。因此,在扁平组织中,成员都能够通过自主探索和持续精进来完成目标,推动项目进度。

除了小而精之外,敏捷开发原则中也有一条内容刻画了具体的团队画像:

最好的架构、需求和设计出自自组织团队
The best architectures, requirements, and designs emerge from self-organizing teams.

什么是“自组织团队”?管理者应该如何构建一个合格的自组织团队?普通的开发团队能否成长为自组织团队?

下篇文章我们将和大家继续探讨敏捷中的「自组织」。想要第一时间获取更多敏捷开发资讯,请持续关注 LigaAI@CSDN

进一步了解我们的产品,请访问 LigaAI> -新一代智能研发协作平台

相关推荐

研发团队的「技术债」如何进行量化管理?

技术债或许是所有研发团队都难以避开的课题。面对不可避免的技术债务,我们又该如何科学、恰当地管理和控制它?

LigaAI的博客 1593

技术分享 | SpringBoot 流式输出时,正常输出后为何突然报错?

最近在一个 SpringBoot 项目中遇到了一个很有意思的问题:正常通过过滤器和拦截器的线程变量,在正常输出后突然报错。这是咋回事?

LigaAI的博客 2280

用 MVP(最小可行性产品) 做低成本快速验证,为什么不灵了?| Liga译文

有数据称,九成的初创公司在成立五年内将走向失败。难道号称能快速验证市场的 MVP(最小可行性产品)失效了吗?

LigaAI的博客 1303

技术分享 | 弹窗开发中,如何使用 Hook 封装 el-dialog?

本文将分享如何使用 useDialog Hook 封装 el-dialog,实现更灵活、更易用的弹窗组件。

LigaAI的博客 1508

LigaAI x 极狐GitLab,共探 AI 时代研发提效新范式

LigaAI 和极狐GitLab 达成战略合作,联手打造 AI 赋能的一站式研发效能解决方案,共探 AI 时代研发效能新范式。

LigaAI的博客 1403

精彩回顾 | 「AI 驱动增长,研发数智化升级」分享沙龙成功举办

AI 应用元年,人工智能技术将如何助力企业发展新质生产力,构建增长动能?

LigaAI的博客 848

LigaAI 的 8 个年度关键词 | 2023 年度盘点

一起盘点回顾 2023 年的精彩文章!

LigaAI的博客 1241

我的效率自救之路:对低效的会议说“不!”

如果你也陷入了「会议 - 效率」悖论怪圈,一定不要错过这篇经验分享!

LigaAI的博客 1220

宁波银行:在「金融科技」引擎上,沉浸式提效减负

金融科技企业如何利用有限的研发资源,发挥更高的能效,创造更高的商业价值?

LigaAI的博客 1353

ChatGPT API 调用总超时?破题思路在这 | 技术分享

本文使用 monkey_patch 方式重写 API 参数,解决 ChatGPT API 调用超时问题。

LigaAI的博客 2089

技术分享 | 在 IDE 插件开发中接入 JCEF 框架

本文分享如何用 JCEF 框架解决 IDE 插件开发中“代码难复用”、“用户体验难统一”等问题,释放研发资源。

LigaAI的博客 3673

准「AI 时代」下,如何衡量程序员的工作效率和生产力?

都夸 AIGC 好,说 AI 工具可以提高工作效率,但是你真的知道如何判断和衡量 AI 工具对组织的影响吗?

LigaAI的博客 872

SaaS 出海,如何搭建国际化服务体系?(三)

SaaS 企业出海,跨国、跨时区的异步团队如何展开高效的协作与工作?

LigaAI的博客 516

SaaS 出海,如何搭建国际化服务体系?(二)

SaaS 出海潮下,不同规模的企业如何搭建并落地国际化服务团队?

LigaAI的博客 542

SaaS 出海,如何搭建国际化服务体系?(一)

SaaS出海潮下,一个主要由中国人构成的团队在推进海外产品落地的过程中,可能会遇到哪些困难?

LigaAI的博客 621

生成式 AI 如何释放开发者的生产力?

技术管理者有望通过 AIGC 应用,大幅缩短四类关键开发任务的完成时间,进而提升组织生产力。

LigaAI的博客 613

新晋技术管理者如何推动组织变革?

技术管理者通过系统流程、行为和奖励三个重要工具,能够积极推动组织变革,优化团队工作方式,并改善成员评估体系。

LigaAI的博客 419

向上管理:三个技巧,教会你如何与上级、老板高效协作

向上管理是什么?刻板印象中,它总与“职场政治”、“拍马屁”、“奸逆之臣”密不可分,但本文将向你展示向上管理的全新打开方式:领导资源化。

LigaAI的博客 668

如何提高技术领导力?与你分享 5 个心得

「如何培养和提高技术领导力」是开发者成长旅程中最重要的命题之一。无论你想成为技术专家,还是技术管理者,都能从本文获得可复制的实践经验。

LigaAI的博客 1066

产品路线图如何制定?斯坦福大学产品管理课程为你支招

一个合格的产品路线图依赖哪些输入?需要输出哪些信息? 本文将与你分享,笔者在斯坦福大学产品管理课程中习得的路线图管理方法。

LigaAI的博客 534

「程序员转型技术管理」必修的 10 个能力提升方向

本文将为有意走向技术管理的开发者们,提供 10 条具象的成长和转型建议,但别忘了,技术管理转型并不是开发者的唯一出路。

LigaAI的博客 584

产品管理经验分享:删掉 500 个产品待办事项后,我逃离了「假敏捷」

灵魂三问:你的产品待办列表中有多少项工作? 最早的一项在什么时候被创建?列表中有多少维护过但从没进入迭代的待办事项?

LigaAI的博客 337

如何用 NPS 确定研发优先级,打破技术与业务的次元壁?

VUCA 时代下,研发团队应当如何培养、平衡客户视角与商业视角,专注于价值交付,避免陷入「僵尸 Scrum」困境?

LigaAI的博客 402

这 4 个系统可靠性评估指标,可能比 MTTR 更靠谱!

VOID研究报告指出,对复杂的软件系统而言,MTTR 可能不是一个合适的可靠性管理指标。这是怎么回事?

LigaAI的博客 516

LigaAI:从效率、度量和价值维度,成为研发团队的智能医生

「拿不到团队数据」和「无法衡量研发价值」是困扰千万研发团队的难题,LigaAI 将以 AI 为矛,打破定式,以全新的方式赋能研发管理。

LigaAI的博客 443

高绩效团队的 5 个优秀习惯,看看你占了几个?

卓越的团队不一定在才能、技术或者机会上比别的团队更具优势,但是好的工作习惯和工作方式一定会让他们脱颖而出。

LigaAI的博客 354

研发质量指标大 PK:MTTR vs MTBF,谁是靠谱王?

研发管理中,「提高代码/测试质量」更重要,还是「提升故障响应能力」更重要?今天我们从管理指标量化的角度展开解读。

LigaAI的博客 724

介绍 9 个研发质量度量指标

研发质量度量指标中的 MTTR、MTBF、MTTF、MTTD、MTRS 都是什么?今天一次性讲清楚!

LigaAI的博客 1783

3 个技巧,让你像技术专家一样解决编码问题

于开发者而言,比学习语法更重要的,是用代码解决实际问题。本文从技术专家解决问题的技巧出发,提出了三个帮助开发者提升复杂问题解决能力的方法。

LigaAI的博客 904

ChatGPT 之后,B 端产品设计会迎来颠覆式革命吗?| Liga妙谈

ChatGPT 掀起了国内的大模型革命,当一部分先行者正在努力探索中国 LLM 的形态,LigaAI 关心起了 GPT 类人工智能在 B 端产品的落地与影响。

LigaAI的博客 1693
上一篇: 如何串连三个「语言工具」描述简洁清晰的需求?
下一篇: 团队自组织是管理者和成员的双向奔赴
LigaAI
LigaAI 企业官方账号 企业官方账号
博客等级 码龄6年 258粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值