敏捷开发:想要快速交付就必须舍弃产品质量?
随着敏捷的推广与应用,如今已经成为了最有效的团队级别的方法论,越来越多的软件和 IT 团队正在采用敏捷,但是你在敏捷吗?
自从那一群充满影响力的软件从业者聚集在一起并发布了《敏捷宣言》以来,已经过去了 23 年。敏捷开发实践自宣言首次出现以来,已逐渐成为各种企业必不可少的管理方法。如今,敏捷已经不仅仅是软件开发团队的利器,它已经成为了建立在转型举措之上的领导原则和方向指引。
在这二十余年的发展历程中,敏捷的学习与实施已经成为现代软件驱动型组织中的日常标配。然而,对于软件领导者们来说,仍需思考一个关键问题,即如何引导自己的团队走出仅仅按部就班执行敏捷仪式的误区,真正地“变得敏捷”?
对于领导者来说,敏捷成了基于转型举措的指导原则。在过去的二十多年里,学习实施敏捷方法已经在现代软件驱动的组织中变得司空见惯。不过,对于软件领导者来说,更重要的是思考如何让自己的团队变得敏捷,而不是只简单地执行书中规定的敏捷仪式。
实施敏捷并不意味着就敏捷了
“敏捷是一种态度,而不是一种有界限的技术。”《敏捷宣言》的合著者Alistair Cockburn写道。
虽然宣言的首要原则是强调“个体和交互高于流程和工具”,但不少促进敏捷的软件工具在本质上已经成为了流程本身的替代品。例如,一些团队以"实施敏捷"的名义,进行多达几十人规模的迭代规划,让这些团队成员进行拥挤的站立会议,这势必无法让所有人都能了解团队其他人的协作情况。过于庞大的团队和过长的冲刺计划反而增强了团队的压力,导致成员之间的沟通困难,原本用于监控进度和压力的敏捷工具燃尽图也变成了“烧毁”他们的工具。所以实施敏捷并不意味着就成为了真正的敏捷团队,因为我们都知道敏捷并不仅仅只是一种工作方式或方法,而是注重团队的思维方式和文化。

“ 敏捷 ” 的三个指导原则
敏捷更多的是关于集体思维和团队文化,而不是关于离散的支持过程。许多敏捷驱动的项目都缺乏人们机械地走过场而没有理解和积极应用敏捷真正精神的能力。
根据不同敏捷团队的经验,我们总结出了以下三个原则,帮助团队更好地实施敏捷。
原则1 :持续不懈地管理业务目标,而不是任务
可以问问自己为什么企业关心这个问题。这虽然是个基础性地简单问题,但我们鼓励管理者不断挑战他们的团队,要求他们回答每一个功能请求和用户故事。虽然这看起来有点过头了,但在整个开发生命周期中提出这个问题可以帮助团队养成强化流程本身这一最终目标的习惯,有助于推动团队和外部利益相关者之间的协调。
例如,我们经常与客户合作,帮助他们实现技术堆栈现代化,帮助他们将应用程序迁移到容器编排或云原生平台。这虽然看起来像是一个目标,但实际上是一个实施细节,而不是我们可以衡量或跟踪的业务成果。要明白工具或技术是服务于业务目标的。
原则2 :工具和流程应该促进交互,而不是阻碍
工具是达到目的手段,是为底层流程服务的工具。成熟的流程依赖于工具,但并不从属于工具本身。无论是简单的看板还是先进的项目管理系统(例如禅道项目管理软件),我们经常会看到很多团队只是将这些工具用作于描述“跟踪工作”情况。
如果没有完全成熟的流程,即使是最好的工具,都会让团队缺乏驱动工作的业务目标的动力。
敏捷的Scrum Master应该努力帮助他们的团队不断学习和探索:如何最好地服务于更广泛的业务目标。比如用于修正方向的过程指标应该是什么?需要的反馈来自哪里?应该多久收到一次反馈?团队和组织应该能够在不破坏现有地整个流程之下,合理地适应不断变化的需求。
原则3 :关注“What” ,而不是“How”
最小可行产品(MVP)的概念是敏捷方法论的基础。推动 MVP 的目标是向用户提供新的软件功能,同时收集和整合反馈以继续改进产品。不过,由于团队负责人经常在不同的团队中工作,并考虑到不同的最终用户,因此此流程很容易与既定的业务策略不一致。
一个团队可能负责探索一种新产品或服务方法,并将使用精益/MVP 工具来确定解决方案。另一个可能强调在现有产品中添加或增强功能,而第三个可能负责改善开发人员体验或基础设施。
在敏捷的背景下,认识到工作开发方式的差异至关重要,尤其是考虑到组织内的工作节奏。我们经常看到基础设施自动化、站点可靠性和平台工程工作被硬塞到两周的 Scrum 节奏中,而工作的性质并没有完全落入两周的增量。
敏捷作为一种理论和实践,旨在帮助团队更好地适应环境的变化,应对工作中的挑战和问题,提高工作效率和成果的质量。实施敏捷的方法和工具,本应成为达成这个目标的手段,而不应当成为目标本身。真正的敏捷在于团队和个人对敏捷理念的理解,以及由此产生的工作态度、行为和方法。
从纸面上的敏捷实践到真正内化为企业文化的敏捷,这需要我们整个团队的长期努力和尝试。真正的敏捷,核心在于团队成员的积极响应,不断学习和改进,从而提升团队的效率和过程质量。因此,我们不仅要学习和理解敏捷的理念和原则,还要将这些原则融入到自己的日常工作中,才能真正地"变得敏捷"。
总的来说,敏捷是一个循序渐进,又充满挑战的过程。无论你是已经在实践敏捷的团队还是刚接触敏捷的新手,都可以从每日的工作中挖掘出更深的敏捷内涵,学习并理解敏捷的真谛,最终实现由"做敏捷"向 "变得敏捷"的转变。
相关文章:
敏捷开发:想要快速交付就必须舍弃产品质量?
随着敏捷的推广与应用,如今已经成为了最有效的团队级别的方法论,越来越多的软件和 IT 团队正在采用敏捷,但是你在敏捷吗? 自从那一群充满影响力的软件从业者聚集在一起并发布了《敏捷宣言》以来,已经过去了 23 年。敏…...
SNMP-详解指南
目录 SNMP介绍 SNMP的工作机制轮询 SNMP的MIB(管理信息库) SNMP是基于UDP协议 SNMP介绍 SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛应用于互联网上的网络管理协议。它提供了一种标准化…...
vue-router 原理【详解】hash模式 vs H5 history 模式
hash 模式 【推荐】 路由效果 在不刷新页面的前提下,根据 URL 中的 hash 值,渲染对应的页面 http://test.com/#/login 登录页http://test.com/#/index 首页 核心API – window.onhashchange 监听 hash 的变化,触发视图更新 window.onhas…...
WebGl/Three 粒子系统 人物破碎及还原运动
粒子 首先,加载模型,这是万千粒子的前身,模型对象由很多面构成,这些面又是由各个点构成的,所以可以将模型的几何体对象geometry赋给粒子对象,粒子物体用Points方式渲染 bloader.load("obj/female02/Fe…...
华为OD-C卷-分披萨[100分]
题目描述 "吃货"和"馋嘴"两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数个小块。但是粗心的服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小。 由于两人都想吃到最多的披萨,他们商量了一个他们认…...
uniapp 中video标签视频禁止快,拖拽快进
废话不多说,直接上代码 <video id"myVideo" :src"sectionInfo.type_config.video_url" timeupdate"bindtimeupdate"></video> <script>export default {data() {return {historyTime: 0,}},methods:{// 监听播放进…...
网页端HTML使用MQTTJs订阅RabbitMQ数据
最近在做一个公司的日志组件时有一个问题难住了我。今天问题终于解决了。由于在解决问题中,在网上也查了很多资料都没有一个完整的实例可以参考。所以本着无私分享的目的记录一下完整的解决过程和实例。 需求:做一个统一日志系统可以查看日志列表和一个可…...
课题学习(二十一)----姿态更新的四元数算法推导
声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。 最近需要使用AEKF对姿态进行结算,所以又对四元数进了深入的学习,本篇博客仅对四元数进行推导,后续会对基于四元数的…...
NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL、SQL-PaLM)、新一代数据集BIRD-SQL解读
NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD-SQL解读 NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2…...
双指针运用:删除重复元素、移除元素
26.删除重复元素 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元…...
什么是三高架构
三高架构是指在软件系统设计与开发中,注重解决高并发性、高可用性和高性能的架构设计模式。 高并发性:指系统能够处理大量并发请求的能力。在高并发场景下,系统需要具备有效的并发处理机制,以保证系统能够快速、准确地响应大量并…...
Unity 对APK签名
关键代码 PS D:\UnityProject\YueJie> jarsigner -verbose -keystore D:\UnityProject\YueJie\user.keystore -signedjar D:\UnityProject\YueJie\meizuemptyapk-release-signed.apk D:\UnityProject\YueJie\MeizuEmpty-release-unsigned.apk 1 示例 # jarsigner的命令格…...
合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测等应用
合成孔径雷达干涉测量(Interferometric Synthetic Aperture Radar, InSAR)技术作为一种新兴的主动式微波遥感技术,凭借其可以穿过大气层,全天时、全天候获取监测目标的形变信息等特性,已在地表形变监测、DEM生成、滑坡…...
QT进阶------------------QPushButton(快速添加按钮与使用)
1、解决如何快速的添加按钮 在qt中,通常我们喜欢一个按钮添加一个信号与槽,但是这样写太过浪费时间。要是多个按钮那不是要写30个信号与槽,说实话,我不太喜欢这样。 在ui中,只要拖动按钮,会自动生成按钮的名…...
Vue项目管理器创建项目
黑马程序员JavaWeb开发教程 文章目录 1、创建新项目2、详情3、预设4、功能5、配置6、是否保存为预设模板7、正在创建项目8、创建完成 1、创建新项目 2、详情 3、预设 选择手动,点击下一步 4、功能 只需要额外选择一项–Router 即可,其余的保持默认&a…...
PHP-extract变量覆盖
[题目信息]: 题目名称题目难度PHP-extract变量覆盖1 [题目考点]: 变量覆盖指的是用我们自定义的参数值替换程序原有的变量值,一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。 经常导致变量覆盖漏洞场景有:$$&#x…...
研究表明,全球互联网流量竟有一半来自机器人
据Cyber News消息,Thales Imperva Bad Bot近期做了一份报告,显示在2023年有49.6%的互联网流量竟来自机器人,比上一年增长 2%,达到自2013年以来观察到的最高水平。 报告称,这一趋势正对企业组织产生负面影响,…...
橡胶衬板的更换与安装
橡胶衬板的更换与安装 橡胶衬板作为一种重要的工业材料,广泛应用于各种设备和机器中,以提供减震、防滑、耐磨等功能。然而,随着时间的推移和使用频率的增加,橡胶衬板可能会磨损或老化,需要及时更换和安装。本文将介绍…...
Compose 简单组件
文章目录 Compose 简单组件TextText属性使用AnnotatedStringSpanStyleParagraphStyle SelectionContainer 和 DisableSelectionClickableText TextFieldTextField属性使用OutlinedTextFieldBasicTextFieldKeyboardOptions 键盘属性KeyboardActions IME动作 ButtonButton属性使用…...
第十一届蓝桥杯省赛真题(C/C++大学B组)
目录 试题A :门牌制作 试题B :既约分数 试题C :蛇形填数 试题D :跑步训练 试题E :七段码 试题F :成绩统计 试题G :回文日期 试题H :字串分值 试题I :平面切分&a…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
