写点什么

为什么敏捷实践会遭遇失败?

  • 2007-09-06
  • 本文字数:1085 字

    阅读完需:约 4 分钟

虽然众多敏捷专家都在帮助敏捷项目走向成功这方面投入了很多精力,但是我们也应当过一段时间就停下来思考一下,为什么有些敏捷项目或是对敏捷的实施会失败呢?了解了这些以后,或许我们就能在日后的实践过程中躲开前行路上的种种陷阱。

Jean Tabaka 列出了导致敏捷实施失败的 11 点因素

敏捷方法已经遭到了种种质疑,因为有的时候它们并没有为采用它们的组织带来所预期的收益。但是在我担任敏捷教练的期间,我发现实际上敏捷实践并没有失败,而是由于种种因素导致了敏捷实施过程的失败。下面是我所列出的最重要的前十一种原因。看看有没有哪一条给你带来过同样的痛苦。

她所列出的 11 点因素如下所示:

  1. 没有真正有效地实施定期的回顾(retrospective)
  2. 没能让每个人都参加计划会议
  3. 没有注意实施敏捷所需的基本结构
  4. 为项目带来反面作用的 ScrumMasters
  5. 要么是产品负责人(Product Owner)一直没有加入项目中,要么是项目中有太多的负责人,而他们的意见又不一致
  6. 因为遇到困难而放弃敏捷,回退到从前的开发流程
  7. 组织的执行高层只给予口头承诺
  8. 团队中缺少决策者和负责组织管理开发过程的人
  9. 远程团队中没有“布道者”,协助调整团队状态,保证敏捷实践的顺利实施
  10. 缺少支持自我学习提高的团队或是组织文化
  11. 讳疾忌医,宁愿逃避也不愿面对现实

以上种种,在你的敏捷软件开发中是否也碰到过一些(或是全部)呢?或者你还有什么可以添加到这个列表中来么?

Tom Hume 描述了他们组织的一个名为《为什么敏捷会失败》的活动,他们总结出的一条结论就是:“如果敏捷没有起到作用,那么要么是你没有正确的实施,要么就是团队成员不是作敏捷的那块料”。《QA Strategies》列举了一些实施敏捷时遇到的挑战,从对细化管理的担心到过于热心的团队,这些都是实施敏捷的不利因素。Kevin Brady 认为敏捷方法没有考虑到人类心理学的因素

  • 人们常常都会把自己的兴趣放到团队的兴趣之上。
  • 人们都更为关注自己的事情。
  • 商业产品的决策是基于理性的期望的。
  • Karl Popper 的“协作活动第一定律”:你永远不可能找到超过五个人对任何事物的意见都会保持一致。

Eric D. Brown 也认为这和人们自身有关,但是他是从另外一个角度来分析的:“这不在于使用的过程或是方法学……帮助项目成功取得成功的是参与项目开发的人。当然,过程在这方面也会起作用,但是如果没有比较好的团队成员,或者没有帮助这些人取得成功的组织,那么就算是再好的项目管理方法也会失败”。

您可以听一下对Jean Tabaka 进行的采访播客以获得更多信息,或者你还可以在 InfoQ 敏捷社区中留言,告诉我们你认为导致实施敏捷失败的因素有哪些,而你又是怎样处理这些问题的。

查看英文原文: Why do Agile Adoptions Fail?

2007-09-06 03:301415
用户头像

发布了 197 篇内容, 共 58.1 次阅读, 收获喜欢 20 次。

关注

评论

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

JDK1.8新特性(四):函数式接口

xcbeyond

新特性 函数式编程 JDK1.8 JDK1.8新特性

架构师训练营作业 (第七周)

默默

MySQL 大表优化方案

Bruce Duan

MySQL优化

week7 总结 性能测试

Geek_z9dmvw

两个指针缩小范围算法,CQRS 命令查询职责分离模式 John 易筋 ARTS 打卡 Week 09

John(易筋)

ARTS 打卡计划

MinIO 简介和搭建一个对象存储服务

耳东@Erdong

Minio store Object store

IDEA 插件: EasyCode 一键生成所需代码

Bruce Duan

idea插件 easycode 生成代码

分布式锁用 Redis 还是 Zookeeper?

xcbeyond

redis zookeeper 分布式锁

MyBatis几种好用的写法

Bruce Duan

MyBatis标签

写一个 web 性能压测工具

WW

性能测试

满山李子

极客大学架构师训练营

使用HSDB 查看jvm内存

引花眠

Docker容器中一定要避免的10件事

xcbeyond

Docker 避坑

技术革新产业变革新动能

CECBC

Mybatis二级缓存,你确定要用么?

xcbeyond

mybatis 二级缓存 一级缓存

SpringBoot 使用 jasypt 对配置项进行加密

hungxy

Java springboot jasypt

架构师训练营 -- 第七周学习总结

花花大脸猫

JVM系列之:详解java object对象在heap中的结构

程序那些事

Java JVM GC JOL

JDK1.8新特性(五):Stream,集合操作利器,让你好用到飞起来

xcbeyond

stream 集合 新特性 JDK1.8 JDK1.8新特性

应届生求职面试真的有那么难吗

xcbeyond

面试 应届生

自从用完Gradle后,有点嫌弃Maven了!速度贼快!

xcbeyond

maven Gradle

LeetCode 144. Binary Tree Preorder Traversal

liu_liu

算法 LeetCode

LeetCode 565. Array Nesting

liu_liu

算法 LeetCode

什么?还没有自己的域名?

北漂码农有话说

ARTS打卡 第8周

引花眠

ARTS 打卡计划

罪羊树——暴力也是种优雅

烫烫烫个喵啊

算法 二叉树 替罪羊 平衡二叉树

记一次西安thoughtworks的面试经历

xcbeyond

面试 thoughtworks

Apache BeanUtils和Spring BeanUtils剖析

Bruce Duan

BeanUtils 浅拷贝和深拷贝

如何保证消息不丢失?处理重复消息?消息有序性?消息堆积处理?

Bruce Duan

消息队列 保证消息不丢失 处理重复消息 消息有序性 消息堆积处理

ARTS 05 - 使用 Ecto.Migration 来做数据库迁移

jerry.mei

学习 算法 ARTS 打卡计划 函数式编程 Elixir

架构师训练营——请简述 CAP 原理

WW

为什么敏捷实践会遭遇失败?_研发效能_Geoffrey Wiseman_InfoQ精选文章