写点什么

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

  • 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:03835
用户头像

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

关注

评论

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

微信业务架构图与“学生管理系统”毕设架构设计

唐尤华

架构实战营

微信业务架构图、学生管理系统毕业架构设计

石小天

架构实战营

【译】什么是测试驱动开发

宇宙之一粟

测试驱动开发 1月月更

ReactNative进阶(二十九):BloC 模式

No Silver Bullet

React Native 1月月更 BloC

基于Calcite的分布式多数据源查询

麒思妙想

MySQL 数据库 Apache Calcite gbase8a

有的时候我觉得我不会 Markdown

冴羽

前端 写作 markdown markdown语法 vuepress

IDEA注释模板,惊艳了,动作要快,姿势要帅

碌碌无为小码农

Java 架构 程序人生 编程语言 经验分享

从零开发区块链应用(七)--gin框架参数获取

杰哥的技术杂货铺

golang 区块链 gin框架

【架构训练营-模块一】

默光

微信 架构设计

从零开始学Mysql - 字符集和编码(下)

懒时小窝

干掉 PowerDesigner,这款数据库设计神器真的绝了!!!

沉默王二

RocketMQ 源码探究 -- 延迟队列实现

周文童

RocketMQ #java

2021总结和2022趋势--《香帅中国财富报告》(7/100)摘录

hackstoic

投资

架构学习【01】——架构图初探

tiger

架构实战营

从零开发区块链应用(六)--gin框架使用

杰哥的技术杂货铺

golang 区块链 gin框架

从零开发区块链应用(十)--golang协程使用

杰哥的技术杂货铺

golang 区块链 gotoutine

一线开发人员,你对项目了解多少?

蜜糖的代码注释

Java 程序员 后端技术

01uni-app基础教程 环境配置【uniapp专题1】

坚果

uni-app 1月月更

投稿开奖丨“轻量应用服务器”征文活动(11&12月)大奖公布

阿里云弹性计算

阿里云 轻量应用 征文投稿开奖

架构设计图

风中奇缘

架构实战营 「架构实战营」

发布uniapp【uniapp 专题 02】

坚果

1月月更

来自未来的交互设计!当电影中的一切变为现实,设计师要如何进化?

博文视点Broadview

2021 大促 AntMonitor 总结 - 云原生 Prometheus 监控实践

SOFAStack

云原生 分布式架构 SIGMA

Flink 实现 MySQL CDC 动态同步表结构

腾讯云大数据

flink 源码 流计算 Oceanus

从重大漏洞应急看云原生架构下的安全建设与安全运营(下)

腾讯安全云鼎实验室

云原生 安全漏洞 容器安全 安全服务

对管理金字塔游戏的感悟:管理的本质是协作

panda

管理

25 Prometheus最佳实践原则

穿过生命散发芬芳

Prometheus 1月月更

Spring Boot Admin 添加报警提醒和登录验证功能!

王磊

sonic:基于 JIT 技术的开源全场景高性能 JSON 库

火山引擎开发者社区

原生云

03uniapp的生命周期【uniapp 专题 03】

坚果

小程序 uniapp 1月月更

TiDB Cloud 上线亚马逊云科技 Marketplace,为全球用户提供云端一栈式实时 HTAP 数据库体验

PingCAP

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