抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

敏捷实施中的常见错误

2010 年 11 月 17 日

一些评论员写下了敏捷实施中一些常见错误和反模式。他们贴出了“Top X”列表,列出了需要避免的事项和他们曾在各种组织实现敏捷时见过的错误。

Target Process 的 Michael Dubakov 写了两篇博文:“10 个敏捷实施中最常见的错误”( Part 1 ; Part 2 )。他认为“许多公司在敏捷实施中再三犯同样的错误。

他的常见错误列表如下:

  1. 从一个工具开始敏捷开发是不同的。一个工具不会立刻产生影响,不会由于这一工具的存在而解决多数的问题。而且,你由于需要为工具的实施投入精力,这会影响更重要的目标–敏捷实施。
  1. 从一个过程开始
    多数公司是从一个过程开始的。这错误不是很严重,但更常见。如果你读读 Scrum 相关资料,会觉得它看起来很容易启动。你实施所有的 Scrum 实践,在若干 sprint 后发现开发有了点改进,但远没有达到预期。于是热情开始消退,过程开始退化。任何公司开始尝试任何敏捷过程前做的第一件事应该是,专注于敏捷价值,比如:沟通、协作、反馈、信任和热情。如果你对这些价值中的任何一个做出妥协,就几乎不可能实施一个良好地开发过程。
  1. 开发实践就足够了
    有趣的是,开发人员倾向于实施技术实践,像 TDD、持续集成甚至是结对编程,但很少注意到沟通、整体团队、客户现场协作和回顾。
  1. Scrum 就足够了
    真正的错误在于,完全依赖 Scrum,认为它是能解决所有问题的过程。它能做到这点,但你要开放思想并愿意做各种尝试:从结对编程到 BDD。最好的敏捷教练相信,Scrum 的实施应该与 XP 技术实践紧密的结合起来。5. CSM 无所不知
    认证的 Scrum Master 不是神。是的,他有一些关于 Scrum 的基础知识,但许多情况下也就仅此而已。

6. CST 无所不知
认证的 Scrum 培训师不是上帝。是的,他知道不少,也有相当的经验。很有可能他有能力帮助敏捷的实施,但也仅仅是帮助。他也许对你所在领域、你独特的状况和你所在组织的根本问题一无所知。如果你完全依赖于 CST,把敏捷实施完全委托给他,敏捷实施将会失败。

7. 职能部门应该幸存
完全没有理由保留职能部门和职能团队。只要可能,大家应作为一个团队共同工作。很明显,如果测试人员在美国而开发人员在印度,这几乎是不可能的。但如果每个人都在同一栋楼里,却没有跨职能的团队就很愚蠢了。

8. 我们可以不要客户反馈

敏捷主要在于快速反馈。来自客户的反馈最为重要。如果用错误的方法建造了某样东西,这是不好的。但如果建造错了东西,那就太糟糕了。为什么?因为稍后你将不 得不把丢弃它。来自客户的定期(快速!)反馈就像是在遍布礁石的海湾中航行的指南。需要在风向和其他因素变化时不断调整航向。客户是最有价值的团队成员, 应该得到重视。

9. 自我组织很容易
纯粹的自我组织认为会有领导者出现。这不常出现,许多情况下没有领导者,团队会失去生气、变得平庸。领导者设置一个目标,并推动团队朝着正确的方向前进。领导者使团队自信、有热情及自我反思。最终实现自我组织。
当领导者离开团队会发生什么?多数情况下团队会出现倒退或慢慢退化。这是个明确的信号:能够判断出团队是否实现了自我组织。真正的自我组织团队在没有领导者的情况下保持他们的价值和进步。

10. 错误的目标(如:客户要求我们是敏捷的)
如果你的客户坚持在他的项目中使用敏捷过程,你应该为此感谢上苍。利用这个机会作为转折点,开始实施敏捷。
不幸的是,为了得到合约,许多公司只是试着“模拟”敏捷实施。他们派人去上 CSM 课程、购买一个敏捷项目管理工具并浅薄地实施 Scrum。他们这么做没有什么深层次的目标和文化上的变化。他们没有任何激情的在做这些。

Mike Griffiths 在博客 Leading Answers 写了篇博文:“敏捷实施反模式”,并列出了他曾见过的五个常见错误:

  1. 敏捷是银弹 - 是的,敏捷方法能节约时间、增加商业信任及创作出高质量的产品,但他们不是银弹。他们不会扭曲空间或是时间,让你在有限时间、预算和资源的限制下能交付更多工作。
  1. 把敏捷作为无规范的借口 - 与他人的观念相左,敏捷方法不是抛弃规范,跳过规划和评估就直接开始编码。敏捷方法中包含了许多高度规范的活动和技术,比如:测试驱动开发、Wideband Delphi 估算法,并且双周迭代规划及评估会议需要许多规范。
  1. 敏捷不需解释 - 项目和团队不在真空里;他们会与组织内许多其他干系人交流。而首先在你的团队和你有更多影响力的领域实施敏捷也许会更容易些,但总有一天你要向其他人解释一下这些工作实践。
  1. 浅反馈 - 敏捷方法依赖于来自不断发展的系统的反馈,以确认理解正确并验收已完成工作。典型的新功能会演示给客户,并留下测试环境供他们实验并收集反馈。我们很容易 认为,收到很少或没有反馈意味着用户一定对我们开发的产品很满意。然而更可能的是,客户没有真正正确地去察看它、或没有用实际数据或场景测试它。
  1. 依恋敏捷过程 - 人们对敏捷方法抱有热情,这是件好事。但如果人们开始过于专注于过程,并牺牲商业价值的交付,那就有问题了。通常,项目的建立和进行是为了实现一些商业改变或改进。我们不是要实践完美的方法,最终的目标是让我们的投资者和用户满意,而不是沉迷于过程或构建履历。

Craig Larman Bas Vode 写了篇名为“大型敏捷实施的十大组织障碍”的文章,这篇文章“询问了一群在大型公司内工作或与之合作的敏捷开发专家,什么是最具挑战性的组织障碍。

他们的前十列表包括下面这些:

  1. Jeff Sutherland,Scrum 的共同创始人,认为不能移除组织障碍是大型组织中的主要障碍。
  1. Peter Alfvin,一名经验丰富的开发经理,他参与了在施乐引入精益原则,Petri Haapio 是 Reaktor Innovations 公司敏捷培训部门的主管。他们两人都提到了,为追求成本‘节约’和‘协作’的部门集中化导致了本地优化,这成为了一个障碍。
  1. Sami Lilja,诺西网络的敏捷开发活动全球协调官,注意到一些组织认为学习是浪费时间和金钱。
  1. Larry Cai,上海爱立信的专家,提到职能组织(单一职能团体)是最大的障碍之一。他们阻碍单位间的沟通,并助长了单位之间的指责。
  1. Esther Derby,顾问、教练、协调专家并著有两本关于组织学习的书,认为促进本地优化胜过全球优化的系统是主要障碍。她给出了一些例子,包括目标管理(MBO)和预算系统。
  1. Mike Bria,前西门子医疗系统敏捷教练,提到“自我进行改进”是个障碍。他强调了一个有问题的态度:人们在读了一两本书后认为“我们知道怎么做了”。
  1. 某 A(按当事人要求匿名),某大型电子商务网站的一名 Scrum 培训师,提到个人绩效评估和奖励是个主要障碍。它们会使开发人员和经理们感到沮丧,妨碍团队绩效并促进了命令和控制式管理。
  1. Lü Yi,诺西网络杭州的一名 Scrum 培训师及大型开发团队的部门经理,认为“承诺游戏”和不切实际的允诺是主要的组织障碍。这导致走捷径、持续救火及遗留代码。
  1. Diana Larsen,协调专家、与 Esther Derby 合著 < 敏捷回顾 > 一书,简单地说道,“假设一切全都与开发人员有关。”
  1. 几乎每个人都认为“认为敏捷是银弹和肤浅的敏捷实施”是主要障碍。

除此之外,Larman 和 Vode 提到另外两个他们常见的阻碍:

Craig 认为关键阻碍是每个工作者的文化而不是真实的团队和团队合作的文化。他拜访了许多表面上在应用 Scrum 的个人,并看到些症状,如:“Jill 做 Jill 的任务,Raj 做 Raj 的任务”等等,而不是“整个团队一起”的结对行动,在团体内多方学习。Bas 认为管理人员和第一线的人员之间的分歧是关键障碍。经常是这样,管理层的变动对做真正有价值工作没什么影响(或者说,至少没有正面的影响)。同样地,第一线的开发人员做的决定通常与组织的方向不一致。

Cory Foy 提供的另一个列表可以在这里看到。


什么是实现敏捷技术中的常见错误和问题?团队和组织如何才能避免它们?

查看英文原文:

Common Mistakes in Agile Adoptions

2010 年 11 月 17 日 11:161620

评论

发布
暂无评论
发现更多内容

redis工作原理(下)

Sakura

28天写作 28天挑战 3月日更 21天挑战

RPA助力证券行业高质量发展

Jason Tien

RPA 金融科技 证券 云原生微服务 自动化平台

二十张图让你一分钟全面学习数仓建设之路

初学大数据

大数据 数据仓库

密码学系列之:内容嗅探

程序那些事

加密解密 密码学 程序那些事 内容嗅探

熬夜重构了IDEA插件Toolkit(整合程序员常用的工具箱),更加便捷

Silently9527

Java idea插件 程序员工具、

翻云覆雨——前景理论之隔离效应

Justin

心理学 28天写作 游戏设计

微服务想用好,得把分布式和微服务之间的关系搞清楚

读字节

分布式 微服务 微服务架构 SpringCloud 分布式架构

垃圾代码和优质代码的区别?

xcbeyond

Java 优化代码 3月日更

Vue源码学习 | 4个实用的javascript技巧

devpoint

Vue vuejs stringify

第9周课后练习-性能优化三

潘涛

架构师训练营 4 期

Elasticsearch 定制 Dynamic Mapping 策略

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

Python 关键字

HoneyMoose

(28DW-S8-Day18) 可插拔式知识

mtfelix

28天写作

成为你向往的那只独角兽 - 《独角兽项目》出版在即

京东科技开发者

DevOps

调整好心态

Nydia

B端产品经理自我认知

lenka

3月日更

Spring Boot工程结构

韩斌

Spring Boot

手写的第一个 Java 应用程序,执行的时候发生了什么?

白色蜗牛

Java

Webpack 基石 tapable 揭秘

vivo互联网技术

前端 webpack 流程管理 tapable

一个PHPer的Golang之路

万俊峰Kevin

php golang 微服务

波场环球系统开发|波场环球软件APP开发

开發I852946OIIO

系统开发

RabbitMQ集群简介

Kylin

读书笔记 RabbitMQ 消息队列 3月日更 集群简介

正则表达式.05 - 匹配模式

insight

正则表达式 3月日更

阿里大牛亲码1222道Java岗面试真题!(2021全彩版)

程序员小毕

Java 程序员 架构 面试 分布式

《精通比特币》学习笔记(第六章)

棉花糖

区块链 学习笔记 3月日更

容器 & 服务:Kubernetes构件及Deployment操作

程序员架构进阶

Docker Kubernetes 容器技术 28天写作 3月日更

算法攻关 - 重建二叉树 (O(n))_0105

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关 重建二叉树

CloudQuery v1.3.4 版本更新

CloudQuery社区

oracle 运维 编辑器 sql 数据库管理工具

Markdown中的图标为什么不是图片却可以以图片方式显示

happlyfox

28天写作 3月日更

2021最新腾讯面经分享:Java面试核心点/技术笔记/学习视频(春招必备)

比伯

Java 编程 程序员 架构 面试

常见 git 需求整理(持续更新中)

blueju

git 前端 工具 npm

Study Go: From Zero to Hero

Study Go: From Zero to Hero

敏捷实施中的常见错误-InfoQ