写点什么

敏捷了,而且还是离岸敏捷,是自找麻烦吗?

  • 2008-10-12
  • 本文字数:1361 字

    阅读完需:约 4 分钟

Kevin Coleman 讲述了他与某声称自己敏捷的离岸开发团队合作的故事,并提及其中的痛苦与烦恼。该文章已经发布在 Agile Journal 的九月刊上。几位读者也用他们自己的经历证实了 Kevin Coleman 的说法。那么,就在现今的业务现实中,敏捷方法能够成功地用于离岸团队吗?

其中,Kevin 所述的一个重要的假设是:

大多数离岸开发组织以传统瀑布开发方法做为组织的标准开发方法;使用这种传统方法,就要定义一些需要很大规模才能完成的任务,是典型的组织化的项目。这些传统开发技术与敏捷的基本观念背道而驰。

在这样的前提下,Kevin 谈到一堆很常见(且昂贵的)问题:

离岸开发团队拿到一份清单,然后分析需求,评估其大小及复杂性,以及每个条目需要多少努力才能完成。基于这些评估以及在岸与离岸开发团队的规模,定义并推 敲哪些功能可以在这个 Sprint 中交付。一旦确认了这些交付物,开发过程就开始了。问题也就开始出现了…… 随着演示以及概念确认等这些敏捷过程中所说迭代式发掘过程,新需要也就不断被发现了。而随着重写代码、评估这些新需求,以及计划的变更,都会增加成本。

但是

这种情况在好转。很多混合型(敏捷与传统)项目使用时间盒管理技术,并称之为“敏捷”。时间盒技术就是指在固定的时长中完成一件或一系列任务。一旦确定了 时间盒,开发人员将在这段时间里尽其所能进行工作。因此,与典型瀑布项目中那种一直工作到某(些)任务完成不同的时,此时离岸团队只工作某个固定时长(比 如说,五天)。而五天后,要么那些初始计划的工作被完成了,要么就被放回到 Backlog 中以后再完成,或者完成了那些替代了原有这个 Sprint 中所计 划的工作。之所以说这个 Sprint 结束了,是因为实现这些功能的成本已经发生了变化,需要由在岸团队重新评估。

另一种混合方法就是使用功能演示代替了传统的 Reviews。在工作过程中,离岸团队得到来自在岸团队、业务人员 /SME 和关键项目干系人的反馈。而这些 反馈要么被加入到这个 Sprint 中,要么会因明显增加工作量而推迟实现,将其放回 Backlog 中,等待在后来的 Sprint 中实现。如果这个反馈需要 在某个特定时间内完成,那么你只能猜测,并将其放到这个 Sprint 的任务列表中,对其进行评估,并安排其优先级,还要调整你的开发计划。

根据 Kevin 所述,当一个敏捷团队与一个非敏捷的离岸团队合作时,几乎任何事情的成本都提高了,而其根源似乎是:很多离岸团队并非真正的敏捷。该文所有的评论者似乎都有相似的经历:

非常赞同“在两个公司合作完成一个或两个项目并建立信任之前,结合这两种方法的风险很大”这一观点。我还没看到过哪个传统瀑布型组织很顺利地完成敏捷项目。通常,你不得不决定采用哪些两公司各自所坚持的方法,从而创造出一种混合型过程。

还有,

提醒那些使用敏捷方法的离岸开发者,你要确保开发人员认识到:离岸开发人员消耗的是你的事业、金钱和时间。当开发者开始干活时,全面的计划就要出台。而此时如果你被排除在外,还没有持续沟通机制的话,那么你的麻烦就来了。

还有人提到,

此时此刻,我正遇到这个问题——很高兴我不是唯一的一个。

InfoQ 的读者,你有同样的经历吗?如果有,提醒您留意的是,该文中对于敏捷离岸开发的大部分内容是持肯定态度的。——这是个错误的信息呢,还是 Kevin 落到了不幸的少数派中?

查看英文原文: Agile and Offshore: Asking for Trouble?

2008-10-12 20:03913
用户头像

发布了 100 篇内容, 共 22.6 次阅读, 收获喜欢 5 次。

关注

评论

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

云计算的云是指什么?最简单的解释是什么?

行云管家

云计算 云服务 私有云 混合云

SpringDataJPA之关联关系

爱好编程进阶

Java 程序员 后端开发

如何在缺乏商业项目经验的前提下成功通过面试,兼说我如何甄别非商业项目经验

爱好编程进阶

Java 程序员 后端开发

JAVA-使用注解实现Excel表头多语言导出

JayJay

5月月更

AI简报-视频去交错(Deinterlance)

AIWeker

人工智能 深度学习 5月月更 去交错

大佬总结的4条宝贵经验,送给初入职场的你,从此一飞冲天

爱好编程进阶

Java 程序员 后端开发

HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers

华为云开发者联盟

HTTP 请求转发 web 容器 F5

leetcode38

爱好编程进阶

程序员 后端开发

SpringBoot-MVC自动配置原理

爱好编程进阶

Java 程序员 后端开发

令人欣慰!阿里大牛把Spring微服务架构设计整理成了500多页文档,真香

爱好编程进阶

Java 程序员 后端开发

史上最全图解JVM,京东小哥带你了解性能提升100%背后的秘密武器

爱好编程进阶

Java 程序员 后端开发

SpringloC容器的依赖注入源码解析(3)

爱好编程进阶

Java 程序员 后端开发

Tomcat介绍(三)

爱好编程进阶

程序员 后端开发

「2021-老胡的年终总结」

爱好编程进阶

程序员 后端开发

【刷题第十天】21. 合并两个有序链表

白日梦

5月月更

“超级计算机”——GPU云服务器

Finovy Cloud

gpu GPU服务器 GPU算力

等保和分保的区别是什么?哪个更厉害?

行云管家

网络安全 等保 等级保护 分保

SpringBoot整合MyBatis完整详细版

爱好编程进阶

Java 程序员 后端开发

【直播预告】程序员修炼之道——如何实现敏捷开发与稳健运行的有机统一

FinClip

程序员 小程序运营

【解决】jsPDF之长图片生成PDF

爱好编程进阶

Java 程序员 后端开发

摆平各类目标检测识别AI应用,有它就够了!

华为云开发者联盟

计算机视觉 CANN 昇腾 目标检测识别 YoloV3

讨论两种Redis中Token的存储方式

华为云开发者联盟

Token key 存储token userid

MySQL数据库所有知识点最详细讲解,内置官方文档、个人理解

爱好编程进阶

程序员 后端开发

「每日一问」并发编程的特性是什么

爱好编程进阶

Java 程序员 后端开发

厉害了!把 HashMap 剖析的只剩渣了!

爱好编程进阶

Java 程序员 后端开发

一文聊透 Netty IO 事件的编排利器 pipeline | 详解所有 IO 事件的触发时机以及传播路径

bin的技术小屋

网络编程 Netty java netty 5月月更

【Jvm】Jvm类加载机制

爱好编程进阶

Java 程序员 后端开发

优化了MYSQL大量写入问题,老板奖励了1000块给我

爱好编程进阶

Java 程序员 后端开发

极光笔记 | 极光基于元数据驱动数据治理浅谈

极光JIGUANG

数据治理 元数据

编写自己的 WordPress 模板

海拥(haiyong.site)

WordPress 5月月更

使用APICloud AVM多端框架开发企业移动OA办公的项目实践

YonBuilder低代码开发平台

企业应用 APP开发 APICloud 多端开发 avm.js

敏捷了,而且还是离岸敏捷,是自找麻烦吗?_研发效能_Amr Elssamadisy_InfoQ精选文章