预示敏捷方法走偏的15个标志——第1部分

简介: 误解和“最佳实践”可能会让你的团队原地打转,无法高效产出代码。本文主要介绍预示着敏捷方法走偏的15个标志,作者为 Steven A. Lowe。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

【编者按】误解和“最佳实践”可能会让你的团队原地打转,无法高效产出代码。本文主要介绍预示着敏捷方法走偏的15个标志,作者为 Steven A. Lowe。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

要赶时髦却掉沟里的情况很常见。这条准则在敏捷开发中表现得尤为明显。很多公司因为敏捷的好处——容易变更、周期缩短、进化构架,等等,而转投它的怀抱,结果最后公司最好的敏捷实践者纷纷离职,剩下的人员却没有能力修复开发过程中的问题。

大部分敏捷操作的问题并不在于敏捷概念,而在于敏捷方法(Agile)。敏捷并不是一种方法,把它当做方法,就把开发过程与哲学和文化混在了一起,这样做只会回到瀑布模型,甚至更糟的情况。

幸好,辨别敏捷方法出错的标志并不难,还可以采取行动重塑和谐。本文列出了敏捷方法走偏的15个标志,任何一个都可能让你软件开发的前期努力付诸东流。

1、实施敏捷与敏捷实践

敏捷以态度为先。如果你的公司强调实施敏捷,而不是敏捷实践,那么你们一开始就走错方向了。敏捷是一个范例,是软件开发方法的思路转变。具体的技巧和仪式稍后再说,而且重要性相对较低。重点在于敏捷实践,拥抱和使用敏捷宣言中列出的理念,你们自然而然就在“实施”敏捷了。

一定要认真阅读敏捷宣言,里面的内容都是字斟句酌才定下来的。想一想其中的含义:去除无用的仪式、管理和书面工作,专注于代码和快速反馈周期,自行组织、自行检查、自行优化。这就是变革。实现宣言列出目标的具体行动则需要不断发展进化。

如果你们强制所有团队遵循一刀切的通用敏捷“流程”,这种做法是错的。这种“标准的”敏捷流程的想法是矛盾的,因为敏捷意味着持续不断地适应和改进。

要想补救,不要忘了你们的主要目标是交付可用的软件,而不是遵循某个方法;没有方法是万能的,适用于所有项目和团队。因此,放手让每个团队自行操作,并修正和改进实践。

2、将故事分值当成目标

用户故事是敏捷的一个重要方面,从用户角度描述软件特征的需求。故事被赋予分值,以此来预估完成故事所需要的工作量。

这些故事分值既不是承诺,也不是目标。它们并没有本质意义或衡量标准,只是团队成员就项目复杂程度和团队能力达成的非正式共识。

你的团队的三分故事可能是其他团队的五分故事。将故事分值当做成功的衡量标准,破坏了它作为预估方法的价值,并且会导致“钻制度空子”来假装成功(已达到速度 X),实际上并没有成功(交付可用且有用的软件)。

解决方法很简单:与产品负责人(用户更好)在有用目标和衡量目标上达成共识。不要误将要估计的标准或要计划的规则跟“成功”混为一谈,只有交付了价值才叫成功。

3、比较团队或成员的速度

沉迷于指标几乎是大部分程序员的第二天性。但是,如果你的团队将速度——迭代计划中团队所用的每次迭代的故事分值衡量指标——当做比较点,你们就错了。

再次说明一下,速度只是用于预估的中性指标。对比团队速度毫无意义,因为每个团队的基本单位(故事分值)“定义”不同。每个团队都是独一无二的,对比速度并无价值,而且还会引发负面行为和团队之间的竞争,而非合作。

同样的道理也适用于团队内部成员。个体对故事分值的贡献微乎其微。而且最重要的一点,故事分值本身并不是指标。比较同一团队成员的速度并无意义。唯一重要的指标是一个主观指标:在开发软件中交付的价值。

最简单的解决办法:停下来。否则只会事与愿违,浪费时间。

4、写任务,而不是写故事

敏捷故事模板在构建某个特征对某个特定用户或角色的好处时很有用。这提醒了我们,目标是为交付能够满足某些人的使用期望的软件。如果你的“故事”大部分内容实际上都是任务,那么开发过程就会变成任务导向(做事情),而不是交付导向(创造价值)。开发团队与用户保持联系很重要,没有用户的软件一无是处。

这种问题的解决办法是平衡:总会有一些必须完成的类似任务的事项,但是故事的规模应该控制在单个迭代过程能够完成,因此把它分解成多个任务并没有意义。“完成”75%的故事毫无用处。要么做,要么不做,没有中间值可取。如果一个故事太过复杂,无法在一个迭代过程中完成,而且无法划分成几个故事,那就应该用几个过程来完成(见下一部分)。

5、绝对不要重复故事

如果你把大的故事分解成几个小故事,只是为了能够符合一个迭代过程的时间长度,这样做是不对的。这种行为会产生几个联系更弱、任务导向的“故事”。与之相反,坚持更大的、更自然的故事,用几个迭代过程去完成。有始有终,从能够实现预期性能的最小功能“核心部分”做起,然后在后续的迭代过程中加入其它行为和元素。这样可以保证故事的完整性,从核心部分发展到可用性。

一旦核心部分完成,它的结构和性能可能会引发其它子故事,或者你会在下个迭代过程中发现优先级发生了变化,因此核心部分需要搁置。但是,如果你把故事分解成几个任务,以为把每个任务当成一个“故事”来完成会更容易,那么开发出来的软件就不会包含可识别的附加价值,因为任务倾向于专注不关联的部分,而不是相互联系的价值流。

在本文的第二部分,将继续介绍预示着敏捷方法走偏的另10个标志,敬请期待。

本文转自 OneAPM 官方博客

原文地址:http://www.javaworld.com/article/3075443/agile-development/15-signs-youre-doing-agile-wrong.html

相关文章
|
28天前
补齐Transformer规划短板又不放弃快速思考,田渊栋团队的Dualformer融合System 1和2双重优势
田渊栋团队提出的Dualformer是一种创新的Transformer模型,能同时进行快速和深度推理。通过随机化推理轨迹数据训练,Dualformer可在不同模式下高效解决问题,如迷宫导航,且在准确率和效率上超越现有模型。该模型有望提升大型语言模型在数学等复杂任务上的表现,但也面临训练资源需求高和自动模式需进一步优化的挑战。
29 3
|
人工智能 安全 量子技术
量子力学的挑战和未来:未解决的问题和可能的发展方向
量子力学作为现代物理学的基础理论,在过去几十年中取得了巨大的成功,并在许多领域展现出了巨大的应用潜力。然而,它仍然面临一些未解决的问题,如量子测量问题、量子力学与相对论的统一、退相干和纠缠保持等。未来,我们可以期待量子技术的进一步发展,包括量子计算、量子通信和量子感应等领域的突破,为人类带来更多的科学和技术进步。
206 0
量子力学的挑战和未来:未解决的问题和可能的发展方向
|
存储 架构师 BI
【业务架构】业务架构:战略执行之路上缺失的艺术/科学
【业务架构】业务架构:战略执行之路上缺失的艺术/科学
【业务架构】业务架构:战略执行之路上缺失的艺术/科学
|
设计模式 运维 负载均衡
🎖️怎么知道我的能力处于什么水平?我该往哪里努力?
现在的你,处于编程生涯中的哪个等级? 毕业后进入社会,我像大家一样感到恐惧和不安。有没有想过你职业生涯的下一步应该是什么呢?也许它可以帮助你找到下一个目标。
104 0
|
存储 移动开发 人工智能
今天的应用架构,正处在一个不可测的阶段
简介: 近几年,“可观测性”这个词在国内的 IT 圈子突然走红,阿里、百度、字节、腾讯等大厂纷纷跟进可观测性建设,更有多家基于可观测技术创业的公司陆续成立,可观测性领域的融资很火爆。这把名为“可观测性”的火,甚至从后端领域,延伸到了大前端,一些移动开发团队希望通过引入“可观测性”概念解决更深层次的应用架构问题,改善性能和业务体验。
400 2
一个需求从提出到落地的过程
写在前面的话 这篇文章主要借复盘天猫超市优惠券功能来聊下,一个优惠券功能的需求,从需求的提出到落地的一个复盘,有每个步骤的实操,这里的需求是明确的,后面有时间做一个需求分析的案例,当然如果你是个成熟的产品经理这篇文章就可以跳过了。
1389 0
|
人工智能 物联网 UED
行业观察:这是一个“认知优先”世界
本文讲的是行业观察:这是一个“认知优先”世界【IT168 编译】忘了“移动优先”和“云计算优先”吧,当今的应用程序已经步入了“认知优先”的时代。 这个说法来自于Progress的CEO 约戈什·古普塔,他表示智能应用程序需要具备预告和预测的能力,以帮助企业获得更大的成功。
1341 0