写点什么

Swarming 是如何帮助敏捷团队实施交付的

  • 2013-03-26
  • 本文字数:1285 字

    阅读完需:约 4 分钟

快速且频繁地交付可工作的软件是敏捷开发的目标之一。Swarming 就是能够帮助敏捷团队实现这一目标的技术。那什么是 Swarming,Swarming 有哪些好处,该在何时使用,又该如何使用呢?

Vin D’Amico 在《敏捷团队通过 Swarming 取得巨大成功》一文中解释道,使用敏捷软件开发的团队可以在免去一些计划的情况下,发布更多软件,而且响应更为迅速:

他们快速地执行从计划到设计到编码到测试再到交付的敏捷流程,如此往复,直到软件达到客户预期目标为止。

敏捷团队为何响应如此之快呢?Vin 指出:

(…)好的团队都在用 Swarming。他们尽量在当下解决问题或者消除障碍。如果做不到,好,把它移到 Backlog 中,但不到万不得已不要这么做。

在《团队 Swarming 的 7 项策略》一文中,David Bernstein 解释了 Swarming 如何帮助我们建立一支专注并且能够解决复杂问题的高效团队:

进行 Swarming 时,整个团队针对同一问题集中在一起工作。这有助于大家相互了解,进而更好地合作。通常,团队需要经历从形成(了解彼此)、磨合(发现矛盾,化解矛盾)到最终运转(成为一支高效的团队)这几个阶段,所以请给每个人一点空间。

Swarming 的工作方式跟结对编程很像,都是让团队成员在同一任务上紧密合作:

跟单枪匹马地工作相比,看看一项任务是否可以由两个甚至三个人来完成。让两个人来做同一件事是有损失,但结对工作所带来的动力往往会将其抵消。记住,高效率的团队几乎总是结对完成任务的。

什么是 Swarming?几年之前, Yahoo 讨论组上曾有一次关于《 Swarming: 意义何在?》的讨论,InfoQ 也进行了总结。其中解释了 Swarming 的目的:“使团队专注于完成有业务价值的工作”,“尽可能让整个团队从一开始就参与到同一个用户故事中去,以此提升质量和一致性”。按照 Vin D’Amico 的说法,“简单来说,Swarming 是这样的行为——将大家召集到一起来解决问题或快速完成某个任务”。David Bernstein 这样定义,“Swarming 就是把整个团队聚在一起,专注地解决同一个问题”。

Oleksi Derkatch 描述了 Swarming 如何工作,以及它能带来什么:

它的理念是让所有开发者工作于同一个用户故事,而不是让每个开发者各自为战。它的目标是彻底完成更多的用户故事。彻底完成 80% 的功能总比各种功能都只完成 80% 要好。

Renee Troughton 解释了组织应该如何使用 Swarming 来构建更富创造性的团队。她在博客文章《业务的新时代》中写道:

这正是 Swarming 的用武之地。大部分组织就是将人员从一个项目抛到另一个项目,很少考虑个人兴趣。除此之外,他们也很少考虑这么做的真正速度以及与投资回报的关系。

为使工作更富成效,我们需要有激情的人,他们对待工作会像对待自己的孩子般专注。(…)应该允许对此有兴趣的员工报名参与,而且要立马放人让他们坚持到底。

你的团队在使用 Swaming 吗?对于快速频繁地交付软件,它是不是真的有帮助?

查看英文原文 How Swarming Helps Agile Teams to Deliver


感谢臧秀涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-03-26 04:011872
用户头像

发布了 31 篇内容, 共 87254 次阅读, 收获喜欢 1 次。

关注

评论

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

华为云IoT体验:基于IoT平台构建智慧路灯应用

乌龟哥哥

2月月更

Go 语言入门很简单:String

宇宙之一粟

Go 语言 2月月更

每天都扫的二维码,你知道它的技术原理吗?

慕枫技术笔记

后端 2月月更

渗透利器 | 常见的WebShell管理工具

喀拉峻

网络安全

模块二作业

blazar

「架构实战营」

给 zsh 自定义命令添加参数自动补全

mzlogin

Shell zsh

程序员,如何避免无效会议?

蜜糖的代码注释

2月月更

开杠面试官-微信朋友圈高性能架构

晨亮

「架构实战营」

跨平台应用开发进阶(三): uni-app 实现资源在线升级/热更新

No Silver Bullet

uni-app 更新 版本升级 2月月更

简析Web3 架构:前端、后端和数据

devpoint

区块链 dapp Solidity Web3.0 2月月更

微信朋友圈业务架构分析

Geek_1b4338

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

深入浅出 ESM 模块 和 CommonJS 模块

局外人

JavaScript node.js 前端 前端开发 模块化

跨平台移动APP开发进阶(二):HTML5+、mui开发移动app教程

No Silver Bullet

跨平台 2月月更 mui

欢迎客户支持自动化领域的新兴领导者 Percept.AI 加入 Atlassian 大家庭!

Atlassian

敏捷 Atlassian Jira JiraServiceManagement 客户服务

如何快速开发 Serverless Devs Package ?

Serverless Devs

Serverless

蜜罐中利用jsonp跨域漏洞和xss漏洞的分析

H

网络安全 安全漏洞

[架构实战营] 模块九作业

Geek_0ed632

「架构实战营」

无人管的 InfoQ 每周精选

scruel

InfoQ

基于 SAP BTP 平台的 AI 项目经验分享 | 社区征文

汪子熙

人工智能 机器学习 AI 新春征文 2月月更

微信朋友圈高性能复杂度分析

「架构实战营」

Web Components 系列(五)—— 详解 Slots

编程三昧

前端 组件化 2月月更 WebComponent

模块 7 作业

miliving

[JAVA冷知识]JAVA居然可以多继承吗?让我们用内部类去实现吧!

山河已无恙

Java 2月月更

《人月神话》第十六章阅读笔记:没有银弹

panda

人月神话 阅读笔记 没有银弹

架构实战营模块二作业-微信朋友圈复杂度分析

炎彬

「架构实战营」

自省与反思(一)

懒时小窝

反思 反思总结

《人月神话》第十九章阅读笔记:20年后的《人月神话》

panda

人月神话 概念完整性 阅读笔记

DevOps进阶(二):DevOps 发展史

No Silver Bullet

DevOps 2月月更

跨平台移动APP开发进阶(一):mui开发注意事项

No Silver Bullet

App 跨平台 2月月更 mui

iOS开发备战金三银四·突击大厂的算法与底层原理复习方向

iOSer

ios iOS面试 iOS底层 金三银四跳槽 算法面试

springboot druid 数据库连接池连接失败后一直重连

Jeremy Lai

Swarming是如何帮助敏捷团队实施交付的_文化 & 方法_Ben Linders_InfoQ精选文章